Я понимаю, что вы ищете итератор, возвращенный из условия поиска, но как насчет использования предложения LIMIT с переменным смещением (например, количество строк, которые вы хотите вернуть сразу)? Это может вызвать некоторые проблемы параллелизма, но если вы также включите предложение ORDER BY id, вы должны увидеть согласованное поведение в возвращаемых строках. Затем в цикле просто несколько раз выполните запрос find (...).
Это явно не элегантное решение, как было бы итератором, но я бы предположил, что издержки многократной выдачи запроса на возврат большего количества строк будут примерно уравновешены с экономией, получая несколько строк одновременно в торт).
Наконец, если вы действительно ищете производительность, то я думаю, что CakePHP, возможно, не ваш пакетик чая. По мере выпуска новых версий скорость улучшается, но я считаю, что по производительности он все еще значительно отстает от других фреймворков.