Yeah, I had thought of this type of workaround as well, the problem comes with maintenance. We work quite extensively through distributors and associations where I have a single (or a couple) of main contacts for several different organizations that I ultimately have to manage as if they were separate customers. This will get quite messy though.
I'm guessing that the purpose of maintaining unique email addresses for the CustomerContacts is for the customer portal authentication. At this point, there really isnt any way that I could use that now. Even with unique email aliases managed by mail server, the end user wouldn't really know what to use for login without having them intimately familiar with the process, ie, username_customercode@domain.com.
For such an extensive database design and with so much flexibility in the data you can store and how you can store it, this customer / contacts data design really is unfortunate.
Walt Krzystek