Seems the natural solution would to be to have an "address watch list" that can maintain balances at addresses without the private key anywhere in sight. I would have expected the wallet to use something along those lines internally anyway, but not sure how hard it would be to expose that functionality with arbitrary addresses and no private keys.