Прежде всего, ваше приложение должно будет принимать все запросы на свой IP-адрес (или, по крайней мере, все запросы для доменов, которые вы намереваетесь обрабатывать, все, вероятно, проще обслуживать). Таким образом, когда запрос поступает в приложение, вы можете проверить заголовок узла и определить, к какому пользователю он относится, обслуживая соответствующую страницу.
На стороне пользователя им нужно будет зарегистрировать свой домен в вашей службе (чтобы вы знали, какой профиль пользователя будет обслуживаться при поступлении запроса на этот домен) и настроить DNS для этого домена, чтобы он указывал на ваш IP-адрес.
Как только пользователь указал свой домен на ваш сервер, и вы знаете, какой домен принадлежит тому или иному пользователю, это должно быть довольно похоже на обработку поддоменов (что, похоже, вы уже делаете?)
Это, вероятно, довольно расплывчато и не специфично для MVC.NET, но, надеюсь, направит вас в правильном направлении.