you dont need to specify the ports
the first line turns on virtual hosting by name
NameVirtualHost *
<VirtualHost * >
ServerAdmin
jerky@jerky.dhs.org
DocumentRoot /var/www/html
ServerName jerky.dhs.org
Errorlog logs/jerky.dhs.org-error_log
CustomLog logs/jerky.dhs.org-access_log common
</VirtualHost>
<VirtualHost * >
ServerAdmin
craig@blah.com
DocumentRoot /home/craig/public_html/mail
ServerName mail.mcfetridge.com
ErrorLog logs/mail.mcfetridge.com-error_log
CustomLog logs/mail.mcfetridge.com-access_log common
</VirtualHost>
by defining your servername within the virtualhost will tell it where to go for each request, therefor in this example
jerky.dhs.org will goto the /var/www/html , and
mail.mcfetridge.com will goto /home/craig/public_html/mail
if this is what you want to do of course
essentially you are hosting 2 named servers, on one actual server, of course for you, you would need 3