What do you mean by "compile"? Find records and sort them? Or is there more involved?
You have two basic options you can use. Both work much the same:
Set your script up to perform finds for the specified records on each layout, then sort them ( if needed ) then print.
Use go to related records to pull up the desired records, then sort them (if not sorted by the GTRR's relationship), then print.
The key detail is how will the user specify a date for this script? Will it take place automatically each day? Will the user enter/select a date and then trigger the script to do this?
Go To Related Records requires that appropriate records exist that it can then exploit to pull up the found set of records. You may find that you have this relationship already in place to support this for some or all of your reports. Performing the finds simply requires selecting the correct layout and then specifying the correct find criteria so this approach can be used at each step without adding relationships to your database.