What I do forget is my usernames. I forget them all the time. Most sites, if you lose your password, require you to furnish your username or e-mail address to get it back. But I have many e-mail addresses, and I forget which site has which e-mail address too.
The user-level solution is indexing both username and password by URL. My system, a command-line Ruby gem, does that. 1password, a cheap OS X app, does the same thing.
The site-level solution: named login URLs. For instance:
Or in a Rails style:
You make that URL a bookmarklet on your site just by wrapping it around a graphic which the user can drag to their bookmarks bar. Then, if they forget their password, you don't have to ask them who they are, because you already know that much, even when they don't.