Итак, если вы установите Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo" до Html.HiddenFor(m => m.FormId), получившееся имя поля станет "Foo.FormId"
Я бы рекомендовал написать метод расширения для HtmlHelper, а не обрабатывать эту логику в представлении. Затем вы можете использовать имя модели как префикс.
Ответ 2
Вы не можете. Вместо этого вы можете использовать шаблоны редактора. У Брэда Уилсона есть серия сообщений в блогах, описывающих их. Скотт Гу также охватывает их в этой post.