the easy solution to this is your email as a username/login. that way it's guaranteed unique. the only problem is multiple john smiths confusing people
Email addresses may be unique at one point of time, but assuming that they are unique identifiers for people is problematic because they can legitimately change hands. For instance, my work email address is <firstname>@<company>. I'm not the first <firstname> at <company> - the other one left before I joined, but two months after I took over the email address I'm still clearing up the accounts with services that made an identity assumption over email addresses.
Isn't there a problem if you sign-up to services with your "temporary" work email? Get a gmail account and sit on it, what's wrong with that?
I don't have a "temporary" work email. I'm not sure I understand what you're suggesting.
Similarly, I'm still getting e-mails for [username]@[isp] because the username I chose has been used by several prior users, and just happened to be free at the moment I signed up.
You can use Gravatar to show different pictures for every John Smith.