Solução interessante .. Eu gosto disso! Você deve usar um endereço diferente de localhost, no entanto.
Vincule outro IP ao NIC (ou use um segundo NIC) na caixa e configure o Apache para escutar nesse endereço, para as portas que você quiser. Curinga (*) deve funcionar. Em seguida, o único tráfego para esse endereço é direcionado pelo arquivo "spoof" do HOSTS e esse tráfego não interferirá em outros serviços (legítimos) que possam acessar o host local.
Além disso, você pode optar por fazer isso com o DNS e não com o arquivo HOSTS. Esta é IMHO uma melhor solução a longo prazo. Por fim, é mais provável que a solução mais fácil bloqueie o tráfego no seu firewall para esses domínios.
UPDATE - baseado em comentários. Sugiro que você use DOIS endereços IP diferentes, um para HTTP e outro para HTTPS. Peça a cada um que ouça todas as portas e direcione o tráfego para a porta apropriada. Em seguida, quando você adicionar o domínio para bloqueio ao arquivo HOSTS, defina-o como SSL / baunilha baseado no tipo de solicitação que acionou a adição da entrada.