Определенно не UIWindows - в приложении для iPhone должно быть только одно UIWindow.
Я бы создал подкласс UIViewController, в котором ваш новый пользовательский интерфейс панели навигации находился вверху, а UIView - под ним. Это представление будет использоваться для хранения всех представлений контроллеров, которые вы собираетесь использовать в нем. В представлении clipsToBounds будет установлено значение YES, чтобы другие виды контроллеров не перекрывали панель навигации и т. Д.
В нем также будет массив для хранения списка контроллеров, которые в данный момент находятся внутри него.
Ваш контроллер будет реализовывать pushViewController: animated: методы и т. Д., Чтобы позволить вам добавлять другие контроллеры представления в стек - вы бы добавили новый контроллер в ваш массив и добавили бы его представление как подпредставление представления вашего контроллера.
Тем не менее, на самом деле достаточно много работы, чтобы сделать это хорошо - навигационный контроллер будет выдавать дочерние представления контроллера при предупреждениях о нехватке памяти, обрабатывать поворот, анимировать представления включения / выключения и т. Д. Вы на 100% уверены, что это то, что хочешь сделать?