То, что вы описываете, называется HMVC (контроллер представления иерархической модели). Это означает, что приложение разделено на модули (или, как вы их описали, довольно точно, «подпрограммы»). К сожалению, CodeIgniter не поддерживает HMVC без изменений, однако для CodeIgniter существует расширение , позволяющее использовать архитектуру HMVC . [Спасибо Уэсли]
В качестве альтернативы вы можете использовать форк CodeIgniter, который специально разработан для HMVC и называется Kohana Framework . Изначально проект был форком, но сейчас он сильно изменился и едва различим по исходному проекту CI.