What are the most secure-yet-convenient ways of creating a wallet, that require just remembering a password? A friend just asked me "where are the 11 BTC I bought from you half a year ago? ... I don't remember where I put them." He formatted his computer a few months ago, and the money is probably lost (all of your BTCs just got 5.2E-7 more valuable).

I'd like to recommend an easy to use wallet with the following requirements:


You only have to remember a password/passphrase to access all your BTC. Bonus: transaction history as well.
It's super secure. I mean, I'd like 2-factor authentication, and keys should not be stored on the server (maybe only half a key). Let's assume the client computer is Trojan infected as well.
No ID/bloodwork/whatever is needed to use it (I don't know what Mt. Gox requires of "verified" users nowadays).
It is developed by a relatively trusted company/people. Trust is subjective, but still you can provide concrete evidence of why company X is "more trusted by the community" than company Y. 
I'd prefer a no-install browser based wallet, but not if it conflicts with any of the above requirements. 


Are there wallets that comply with most/all of these requirements?
Take a password.
Hash it with SHA.
Use the hash as a private address.
Generate your public address from that private address.


Guess this would be the easiest algorithm for having a deterministic wallet. One could easily make a web service or a program to generate those addresses, but people generally don't trust third party services like this.

EDIT:
StrongCoin allows one to generate a private key from any sentence, and given that they encrypt the private key before your browser sends it out, one can trust them not to know it. Then, you can decrypt the private key (as far as I know, also on your machine), and import it wherever one needs (provided you don't want to keep your coins online). It is a small workaround, but seems to fulfil your friends' needs.