A pergunta é um tanto ambígua, mas tentarei ajudar.
Se você quiser que o mesmo virtualhost ouça em várias portas, faça o seguinte:
Listen 80
NameVirtualHost *:80
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:80 *:8080>
ServerName some.domain.name
ServerAlias some.other.domain.name
....
</VirtualHost>
Em geral, você não define vários VirtualHosts baseados em nomes do mesmo nome de domínio, a menos que você precise usar um protocolo diferente.
Para virtualhosts baseados em nome SSL, você precisa ser extremamente cuidadoso: por definição, não pode haver vários certificados no mesmo IP: Port, portanto, para evitar erros de certificado, ele deve ser um certificado wilcard, cobrindo todo o domínio servido nomes.