I understand that you're looking for an iterator returned from the find condition, but how about using the LIMIT clause with a variable offset (e.g. the # of rows you want returned at once)? This could bring up some concurrency issues, but if you also include the ORDER BY id clause, you should see consistent behavior in the rows returned. Then, in your loop, just repeatedly issue the find(...) query.
This clearly isn't an elegant of a solution as an iterator would be, but I'd imagine that the overhead of repeatedly issuing a request to return more rows would about balance out with the savings by retrieving several rows at once (in Cake).
Finally, if you really are looking for performance, then I think CakePHP might not be your bag of tea. It is improving in speed with new releases, but I believe it still lags behind other frameworks pretty significantly when it comes to performance.