Нет, это не распространено. Вы никогда не должны использовать свои контроллеры из вашей модели.
Если вы чувствуете необходимость, это, вероятно, означает, что код, который в данный момент находится в вашем контроллере, должен находиться в общей библиотеке или фактически находиться в модели для начала.
Конечно, правильно использовать модель с контроллера.
Обновление
Код, который напрямую не связан с конкретной таблицей / записью (моделью) базы данных или напрямую не реагирует на действия пользователя (контроллера), будет хорошим кандидатом на утилиты или файл библиотеки.
Это более нормально, и от того, где вы загружаете, зависит, используете ли вы фреймворк или нет. Если это просто пользовательское приложение, вы можете просто сделать require_once
в своей модели и использовать оттуда служебные методы.