As the network grows, wallet.dat security is one of the biggest flaw in the bitcoin design, as it way too easy to steal.
I was thinking, i dont know if technically possible, about adding a "password" security intro bitcoin transantions. As far i understand how the networks works, the network doest know anything about wallets, it know about address only, from and to.
So lets say, we allow the client to create a "secure" address for recieving coins, that means now the network has to allow to send a passcode along with the transation, them it uses the same method of verification, along with something else, the idea is, if a passcode was used in the past to send coins from that address but is not longer present or is incorrect, then the transaction is rejected by the network(and the coins back to the owner), if a passcode was incluided but older transactions from those address dint incluided them, accept it anyway, as that means those address arent secure.
I think this will allow to create a "secure" address in the bitcoin client, so everything to have to do to secure the coins you already have is to resend all those coins intro a secure address you created, so it will never leave your wallet.
And if someone steal your wallet, so what? he whouldt be able to send the coins that where stored in that address to anywhere, as it will be get rejected by the network, and that msg about a rejected transaction in the list will warm you about someone stealed your wallet.
The main problem i see, that there whould be no way to recover the passcode.