Allow non-unique e-mails while still supporting address verification, password recovery, etc

We have an application where it’s reasonable for a single “person” (as defined by e-mail address) to have multiple log-ins to the system. However, I’d still like features such as e-mail verification, password recovery, etc to work.

I can remove the uniqueness requirement on e-mail by moving it to another field, but then Accounts can’t find the e-mail for the purpose of sending e-mails.

Is there an easy way to remove e-mail as a unique key while still allowing other e-mail related functionality to work?