I'm not sure what you are describing is clear enough to offer suggestions. It sounds like you are trying to do two separate print batches, but have one know something about page numbers that occurred within the other. Normally when speaking of batching, this conjures the concept of GenPrint - where multiple transactions occur in a batch and are all printed to the same destination. One batch prints, then GenPrint moves to the next defined batch and prints all the transactions found there. As such, there is a total separation between the two batches and it would be unlikely that you could simply retain information in memory (using DAL) to supply the page numbers you require. And since multiple transactions are involved, this would require that you somehow retain certain key information to match each transaction back to the corresponding one from the first batch. The only way that comes to mind to accomplish that would be to write some intermediate file to disk with the key information, so you could match back up to whatever values you wrote. You might be able to do it with a memory table (equivalent to the file on disk), but that does presume that the related batch is going to print in sequence from the same process and not at some later time.
Now, I suppose if you are really talking about single-step print (the PrintFormset rule in the AFGJOB) and not GenPrint that would mean that there is a single transaction in memory and both print outputs happen back-to-back. In that case, since you have not left the transaction, it might be possible to retain a certain amount of information in DAL memory that could be referenced in the second print output of that transaction. The complexity would then fall upon how many values you wanted to keep and whether you could define enough variables with unique names and keep that all straight.
So you see, your approach may be different depending upon how you are processing and exactly what you need to keep related to each transaction.