An easy to use feature in the client that allows you to load different wallets that you've created for different businesses or purposes.
The groundwork for supporting multiple loaded wallets is already there (multiple CWallet objects).
You click on a button "Load wallet file" > It asks you "Do you want to create a backup of the wallet currently in use (recommended for most users)?" > Yes/No > You pick any wallet file from your storage device > The client briefly disconnects from the network, replaces the previous wallet with the new one, reconnects to the network.
Disconnecting you from the network is not even needed as the network code is not dependent on wallets; however you do need a rescan through the block chain (as 2112 mentions) to pick up new transactions "owned" by the wallet.
I've proposed this feature for the qt client once when asking what to do next, but there were not too many people interested, so it's currently at very low priority.