I think my email is greater than 20 chars also.
You can drop the extra stuff and use some sort of coding. for example add 1 byte (256 options) indicating which Email provide it belongs to. For example 0x01 can mean gmail.com, 0x02 can mean protonmail.com so you effectively replace 9 bytes and 14 bytes respectively with only 1 byte.
What's wrong with reusing addresses other than the privacy issues, a lot of services mean you have to use them.
Can you convince me on why this would be a bad thing?
There is nothing wrong with reusing addresses but it is not "recommended", not to mention that by design, a bitcoin address is a single use token.
Read more:
https://en.bitcoin.it/wiki/Address_reuseonly argument you would have would be the security of signing multiple transactions with the same key which is really getting less and less exploitable as an attack target the more time goes by.
When you sign anything with your private key, you are revealing your public key. This operation is a one way operation but if there is any weakness in the implementation you are using or some day a weakness in the algorithm itself is found then your funds will be at risk compared to if you never revealed your public key.
I understand its good to follow best practices, but it becomes a negative feat when you do it without asking yourself why.
It is never "negative" when you follow the best practice even if you don't know the reason for it.
This doesnt solve the proof of identity problem. Anyone can sign a tx and include any email phone without proving themselves as the owner. I understand you want to keep the privacy of bitcoin, but know that not everyone cares about privacy. Solving this problem would definitely be worth creating something new.
I've already pointed out this flaw and also pointed out that it is the same with any other decentralized way of doing it. You can't prevent people from registering any address with any name no matter what method you use.