It would be REALLY cool if the bitcoin client could do this whole process automatically. Don't even have a wallet.dat flile; just have the user input a passphrase that will automatically convert to an SHA2 hash and store in memory throughout the session. Bloody brilliant idea, OP.
I do worry about accidental duplication of passphrases, though. I would want to come up with one that combines an easy to remember phrase, some arbitrary data (DOB, birthplace, mother's maiden name...), and some random data (Rand()).