Resposta curta é "você não pode". Quando existem alguns mecanismos no DNS para trabalhar com portas, estas são altamente específicas do protocolo e não são comumente usadas.
Existem, no entanto, soluções alternativas.
O mais fácil seria configurar o Apache como um proxy reverso. O protocolo HTTP faz uma conexão em um determinado endereço IP e, em seguida, especifica o domínio. Usando o módulo ProxyPass e os hosts virtuais baseados em nome, você pode, então, fazer proxy da solicitação para outra porta.
A alternativa muito confusa (que é, de um POV em rede mais próximo do que você está pedindo) seria ligar vários endereços IP à sua caixa de menta (ou seja, interfaces virtuais) e mapear cada subdomínio para um endereço IP diferente. Uma vez feito isso, você deve conseguir que softwares decentes se liguem a IPs específicos na porta 80, ou falhar usando o iptables para redirecionar pacotes com base no IP de destino.