Абсолютно.
Любая хорошая демонстрация / статьи о веб-приложениях ASP.NET MVC следуют этой архитектуре.
Обычно ваше решение будет выглядеть так:
YourProject.Model
(Библиотека классов с POCO - доменные объекты)
YourProject.Repository
(Библиотека классов с Entity Framework).
YourProject.Services
(библиотека классов выступает посредником между репозиторием и контроллерами)
YourProject.MVC
(веб-приложение MVC2)
YourProject.Tests
(модульный тестовый проект - обычно 1 проект на уровень)
Чтобы ответить на ваши вопросы, репозиторий абстрагирует данные от других модулей, уровень представления - это MVC2, а прикладной уровень может быть встроен в модуль служб или вообще иметь другой модуль.
Конечно, MVC прекрасно сочетается с TDD, вы можете издеваться над контроллерами и тестировать библиотеку классов так же, как вы тестировали бы любую библиотеку классов.
Посмотрите серию витрин магазина MVC Роба Конери на сайте www.asp.net - лучшая серия видео, которые я когда-либо видел.
Удачи!