I am puzzled by your description of the problem. Drupal 7 should not complain if A user name is the same as account B email address.
However, without making a too big deal of that, there is a way you can change an email address to avoid any conflict within Drupal, and still get mail delivered to that user without interruption.
Simply insert the character +
and some string after the name part of the address, like this:
User account A:
Username - usernameX
user email - [email protected]
User account B:
username - [email protected]
user email - [email protected]
Drupal allows email-adresses with a +
in them.
And for string comparison purposes:
[email protected] ≠ [email protected]
While for mail delivery purposes:
[email protected] = [email protected]
This technique, known “plus-addressing” allows users to sign up for different services with different aliases and then easily filter all e-mails from those services (provided their mail server doesn't strip it). Mail servers deals differently with “plus-addresses”. MS Exchange strips it, while Cyrus and GMail retains it - but AFAIK all mail servers deliver mail with “plus-addresses” to the intended recipient.