I have written a daemon processor which will fetch rows from one database and insert them into another for synchronizing. It will fetch rows based on a boolean
An index will certainly help but rather than polling which can impose load and concurrency issues if your database is heavily used it might be worth considering a notification method such as amqp or trigger/database queue based approach instead like Slony or Skytools Londiste. I have used both Slony and Londiste for trigger based replication and have found both excellent. My preference is for Londiste as it is much simpler to set up and manage (and if you have a simple use case stick to the older 2. branch).
A table with records and a boolean field should be the way to do it.
Here is something which I believe might help you...
Bitmap Index
Alternative of Bitmap Index in PostgreSQL
I suggest that you do not index the table (the boolean is a low cardinality field), but partition it instead on the boolean value.
See: http://www.postgresql.org/docs/9.1/static/ddl-partitioning.html
For a query like this a partial index would serve you best.
CREATE INDEX ON tbl (id) WHERE sync_done = FALSE;
However, for a use case like this, other synchronization methods may be preferable to begin with: