The English language can be notoriously ambiguous in its syntax, and I think this is a good example.
I have been able to buy the house I spoke of the other day.
This means that the speaker has been able (for an undefined amount of time extending to the present) to buy the house, but says nothing regarding whether he completed the purchase.
I was able to buy the house I spoke of the other day.
This means the speaker actually bought the house - interestingly, it also says nothing about whether he had been able to do so for an undefined amount of time (it could have been that he had just become able to do so and he did it)
I was able to buy the house I had spoken of the other day.
Semantically, this is the same as (2) - that is, the speaker did buy the house. It's probably preferable to (2) in terms of grammar