Да, вы можете установить главную страницу динамически в методах страниц Page_PreInit:
private void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "MyMasterPage.master"
}
Настройте некоторую логику для динамического выбора имени файла главной страницы для передачи, и теперь вы разделяете одну страницу содержимого со многими главными страницами.