The idea is that the client should create 2 files
wallet.dat -> as now
wallet_receive.dat -> new file
The wallet_receive.dat file wouldn't include the private keys. In fact, it could just be a list of the addresses.
The use case is for people who have a wallet.dat stored somewhere secure and send coins to it.
You could then copy the wallet_receive.dat file from the secure store to your main computer.
This would allow the client to track how much money is in the secure "bank account" and how much is in the local client. You would only need to actually get the secure wallet.dat for spending.
Also, it would be nice if there was an "import wallet" feature that allows 2 wallet.dat files to be combined (and also a "split wallet" that allows the addresses in a wallet.dat to be split between 2 new wallet.dat files).
If that existed, then there could be 2 types of entry in the wallet.dat file, normal and receive only.