I like this idea and agree with da2ce7. I would prefer an email address and strong password to generate the key as this would further reduce the potential for collisions.
A shared secret could still be used to prevent loss due to forgetting the password (say the person dies).
It would be really nice to have a client-side script (either browser plugin or self-hosted javascript) that can query a web service to get your balance from an email/password combo
Isn't that basically giving the site your wallet.dat file?