Если у вас есть все эти свойства в вашей ViewModel, которые не используются (то есть, null или что-то еще), это на самом деле не повлияет на производительность. Однако это повлияет на ваш дизайн.
Вообще говоря, одна модель, чтобы управлять ими всеми, как вы предлагаете, является немного злой и идет вразрез с разделением интересов. ViewModel должен быть очень простым, а должен быть адаптированным к представлению. ViewModel не должен предоставлять представлению больше или меньше данных, чем требуется представлению для визуализации.
Учтите это ....
У вас есть общая модель с 15 свойствами, и вы задаете только несколько из них. Кто-то еще разрабатывает новое представление и смотрит на модель, он может не знать, какие из этих свойств отправлены и при каких условиях они установлены. Следовательно, они могут пытаться отобразить данные, которые не существуют. Это не очень чистый подход.
Я бы придерживался отдельных моделей представлений и там, где между представлениями есть общие функциональные возможности, создавал бы абстракцию или базовую модель представления, из которой могут расширяться другие модели представлений.
Редактировать: Еще одну вещь, которую вы можете сделать, - это использовать новый синтаксис MVC 3 (все еще в режиме предварительного просмотра) (динамический) для непосредственной установки свойств ViewData, как если бы они были свойствами.
Так что вместо того, чтобы делать
ViewData["FirstName"] = "Bob";
Вы можете сделать
ViewModel.FirstName = "Bob";
Это дает вам динамические переменные автоматически в MVC 3.