One account, one email, two different usernames
Due to drupal architecture you should go with a custom solution that create a second account for the user when he register by adding a global known prefix for unique fields that would be used when switching the user account.

Say user registered with mail someuser@somedomain.com you will make another account using that mail someuser.{global_key}@somedomain.com having {global_key} set in code you will use it for logging the user when he needs to switch accounts.

Scenario:


user registered 
in custom module implement hook_user_register() and create another account for the user by using the {global_key}
if user needs to switch account do login by adding the prefix {global_key} to username (you could add to password or let password be the same) let switch account be a hook_menu implementation reading the 



  global $user object and create a new account using {global_key}


-user forget password send the reset password link with a query parameter identifies the account will be reset by implementing hook_mail_alter

Hope that helps!