Will the performance of calculating the balance for an address degrade over time?
The balance is calculated from something called UTXO, this is a list of unspent coins, it is created on blockchain rescans and updated on receiving of new blocks. It is therefore not dependent on transaction history size but only all current available coins fragmentation. 

There are performance issues with this solution also, but they are been worked on...