If there is a virus on your computer, and your bitcoins are stored on that computer, then there is nothing the bitcoin software can do to prevent that virus from eventually stealing your coins.
That said, allowing you to 'lock' your coins with a password, and requiring that you enter that password to send coins, is high on the list of things I'd like to see bitcoin do. That would make it harder for a virus to steal your coins.
But even then, a smart virus could lay in wait until you typed your password to unlock your wallet and take that opportunity to either capture your password or send the coins to a bad guy. If you can't trust your computer, don't store your life savings on it (and yes, bitcoin software also should make it easy to save some of your bitcoins on USB sticks or CD-R disks so they can be stored safely in your safe deposit box at your bank).
Its encouraging that you take this problem seriously rather than some on this forum that would rather blame any weakness on the end user. I really don't think anyone can be 100% sure that their PC is totally free of malicious software if they have been online or plugged in a memory devices from other PCs.
A password would substantially protect your wallet.dat and it could be made less intrusive if it was only required to SEND coins. Also if an eight character password is used, the client should ask for three random characters input via drop down lists on screen (no keyboard entry). Also password input should be limited to two attempts per minute. And the icing on the cake would be an alert message if two simultaneous connections exist of the same wallet so the real owner (with the complete password) could send their coins to safety before the crook can get the full password.
While not 100% secure it would make collecting the complete password to steal coins extremely difficult. I hope further debate could contribute to the development of the Bitcoin client and the USB backup routine you refer to would be a massive usability enhancement.