Каков наиболее оптимальный подход к созданию ViewModel?
Наверное я не совсем что-то понял... ViewModel обозначают модели, которые будут уходить во вьюшку, для отображения там информации. Зачем в одну вьюмодел инкапсулировать другую? Эти модели в основном содержат только необходимую инфу для вьюшки и никакой логики. Если в доменной модели Вам списки авто не нужны, то не стоит их там и делать. Нужно инициализировать вьюмодел нужным списком и эту модель отдавать уже вьшке. Вьюмодел инициализируется либо вручную доменной моделью, либо автомапером.
Никакой, потому что это MVC-фреймворк.