You don't need to create any View dynamically, instead you need to create some Views and then render contents of those views dynamically based on Model and other available parameters.
For example you can show top entries of the month in the main page, and since top entries of the month is a query that its result vary by time, then your main view would be what you need.
Also you can change the appearance of your Created views based on model too. For example you can set background color for your main view based on the season or whatever you want.
check below link for more details
http://stackoverflow.com/questions/25255180/creating-views-dynamically-in-mvc5
http://www.c-sharpcorner.com/UploadFile/0c1bb2/change-layout-page-dynamically-in-Asp-Net-mvc-5/
Thanks
Koolprasd2003
Editor, DotNetSpider MVM
Microsoft MVP 2014 [ASP.NET/IIS]