Maybe I don't see the complexity of the problem but serving different domains with one email server seems a rather trivial problem to me. Just about every email server I know is able to do that. There's no need for any virtual hosting or something like that.
Have you decided on what server you want to use? If not checkout exim. I'm using it on my network and can give you a hand with the initial setup.