2) MVC и (Database) <-> DAL <-> BL <-> UI — это два частных случая N-tier архитектуры (есть и другие: MVVP в .NET, MTV в Django). Общая задача всех вариантов такой архитектуры — уменьшение связанности.
Различие между DAL и BL — это различие между ORM и слоем сервисов, например.
Пытался раньше, получалось плохо. Максимальный отрезок пути без пересадки у меня был 20 минут — этого едва-едва хватает, чтобы пофиксить какой-нибудь минорный баг.
Неужели на хабре кто-то всерьез этим пользуется? И не надо рассказывать, что де «все клиенты там» — действительно серьезные деловые переговоры в аське не проводятся.