I can do this for you. However, what you are describing sounds more like a shared hosting setup. I need to know your network address and subnet prefix if you want ip-based virtualhosts.
I recommend Ubuntu (or any debian based distro) mainly because of the amount of support that it has compared to CentOS. Also, I'm much more familiar with Debian based distros.
For E-Mail, I recommend iredmail. It offers all the functionality you will need from a mail server, including spam filters, an online interface, and smtp/imap support.
I am not the end-all be-all of linux, but I have successfully set up an entier kvm, with bridged networking. Each server had a separate function: One was a mail server, one an http server, one an xmpp server, and another for media (shoutcast). I also configured iptables for each one of these servers, so I'm familiar with that as well. It might take me a minute to get it all working properly, but once it's done, I'm sure you'll be satisfied. I've worked with linux for 6+ years.
I hope to work with you soon.