Make it so that if I have a registered email or username with BTC address, I can EITHER enter the BTC address OR the email/username (or maybe any one of the 3), and it all goes to the same account.
Well, this is not possible to do.
Bitcoin address is unique across the unregistered users. But it's not unique across the registered users. Verifying the ownership of a Bitcoin address is not possible without user interaction so it can't be unique for the registered users easily. Making it unique without verifiying could lead to problems, for example:
- Someone else registering with your Bitcoin address
- You are registering with your own address, forget the password and then you can't register again using the same Bitcoin address
But this will be solved in the future by displaying your unregistered balance too (if any) in your registered account and it will send the sum of both balances at once.