Есть ли способ сделать, например, UIViewController использует пользовательский класс UIVIew?
Да, есть. Просто создайте свой собственный класс, который наследует UIView, откройте конструктор интерфейса, откройте файл xib ViewController, выберите представление и измените класс на вкладке View Identity.
Вы можете создать свой собственный вид в Интерфейсном Разработчике и повторно использовать его в Контроллере. Я только что нашел ответ внизу этого поста: http://fdiv.net/2011/10/29/reusable-views-ios
Загрузите пример, в файлах нет кода, только соединения, используемые в IB, и скелет пользовательского представления.