Есть ли решение, позволяющее одному приложению работать от двух фреймворков (Codeigniter + Phalcon)?
Это бред заказчика, если уж откровенно говорить.
Единственный более-менее разумный вариант работы приложения на двух разных фреймворках это разводить по фреймворкам на уровне маршрутизации реверс-прокси.
Типа вот если у нас идут ссылки /gallery/my-awesome-gallery, то делаем делаем upstream на 127.0.0.1:8889, где у нас висит Phalcon, а все остальные ссылки на 127.0.0.1:8888, где CI.
Писать в одном файле код для двух фреймворков - это ад, поддерживать это будет невозможно.
Поэтапно делайте рефакторинг. Сначала одну фичу, один контроллер, потом второй контроллер и т.п. Если модель данных у вас стабилизирована (только багфиксы), то сначала перенесите все модели и начинайте делать контроллеры. Как разделять на уровне сервера - решайте сами. Я бы просто менял настройки роутинга сервера: некоторые урлы на фалкон, некоторые на CI. Остается, конечно, вопрос сессий, но думаю, он вполне решаем, если сессии хранить в одном месте.
НО! И не пытайтесь начинать делать переход без тестов. Вот просто не стоит. Напишите тесты для CodeIgniter, через, например, Codeception с модулем PhpBrowser, а затем, по мере миграции приложения прогоняте эти же тесты на новом приложении с Фалконом. То есть в идеале, ваши тесты должны работать одинаково не зависимо от того какой фреймворк используется.