I think that the question is:
using Cursors I can read all records twice or more, inside a for next loop; how to set the RecordSet internal pointer to the first record, so that I can re-read the records from the beginning multiple times?
My answer is: you can't.
You have two options, I think:
a - read all records only once, before and outside the [for next loop], store the records in a data structure (Map, multidimensional array, List of custom types, Map of custom types) and use this structure in your [for next loop];
b - you have to run the query more than once, inside the [for next loop] (closing the ResultSet each time).