A string lookup would indeed probably be slower than a numeric one in probably every case. But the difference is so small it will never be noticed. Not until you have a really large number of users.
But check out SO: They do both.
http://stackoverflow.com/users/187606/pekka
The number for blazing fast database access.
The name for nice looks, and search engine visibility.
No conflicts with two names, because the ID is what is used to search the record.
I think that is the best of both worlds and the optimum.
Requires URL rewriting, though.