Нужно ли все Virtual Hosts Apache копировать в hosts Windows?
1. Да
2. Если идет речь про локальную разработку, то да. 
3. Да, именно в таком порядке
4. Если в настройках днс указать 127.0.0.1, то браузер будет обращаться на 53 порт localhost, на нем должен работать днс-сервер. Для разработки это лишнее, т.к. нужно ставить дополнительный сервис. Apache с днс не связан никак.
Обычный ДНС клиент первым делом читает hosts, затем проверяет локальный кеш, затем уже обращается к DNS серверу.
Соответственно, если вы не регистрировали нигде домен, то ДНС клиент его не найдет.
Вместо того, чтобы поднимать целый локальный DNS сервер, на котором регистрировать фейковый домен - самый дешевый способ - подправить файл hosts