Você teve duas perguntas, então vou mostrar as respostas:
Então, se eu fosse criar uma nova máquina virtual, então rodasse o programa infeccioso, existe alguma maneira de identificar quais arquivos ele infectou?
Se você fez coisas como atualizações do Windows ou instalou um novo software (pense em navegadores da Web ou atualizações de versão também), essa tarefa pode ficar bastante difícil devido ao número de arquivos modificados. No entanto, mesmo se você fez isso, copiou todos os arquivos que você não acha que estavam infectados e, em seguida, construiu um novo sistema, basta um arquivo infectado e você está ferrado.
As VMs estão total e completamente isoladas do sistema externo, correto?
Apenas se eles não estiverem em uma rede ou compartilhando arquivos de alguma forma. Por exemplo, com o VMware Fusion, você pode configurar o compartilhamento de arquivos automaticamente entre o host e o convidado, permitindo que o convidado grave em seu diretório de perfis. Torna o compartilhamento de documentos muito mais fácil, mas também aumenta a probabilidade de transferência de vírus.
Além disso, você já enviou um arquivo por e-mail do convidado da VM para o host? Boom, você está ferrado se o vírus estava nesse arquivo.