Having a default hard-coded location for the wallet.dat file allows any malware to easily find it and steal the data contained inside. It would be more appropriate to have the user keep that file in a private location on the file system, and load it into the bitcoin software manually only when he/she needs to spend coins. This will make it harder for malware to locate the file, as now it will have to search the entire file-system for something that looks like a bitcoin private key.
Perhaps a separate agent similar to pageant for Putty would be appropriate. It will hold private keys in memory only when bitcoin needs to use them.