Since we can store the wallet balance in the chain [...]
First of all, wallet balance is NOT stored on the blockchain. Balance is calculated by adding all the inputs and subtracting all the outputs.
This would mean you can setup things like:
- Maximum Amount to send per day/month etc
- Specific time of day which transaction is allowed to occur
- Whitelist of address to send to
- Charity donation address for each transaction
Transaction would be rejected if it broke the rules
[...]
This would require separate verification than just the private key to modify.
This could only be useful for self control (so you don't spend your life savings), or for parental control in case your kids use your computer too often. The reason this can't work against a hacker stealing your coins is that if those features are at the wallet level, then you just need to get the private keys and load them in another wallet, and then spend them. For this to be effective, it would have to be done at the protocol level (which I think it's too complex to include, but maybe someone knows better).