One of the layouts is a 'Cover Page' that has a field [Title] that is populated in another table but when I do the print script I would like that field to be populated by that field from the other layout.
Then you should set up a relationship that matches the current record on the Cover Page layout to the correct record where [Title] is defined. Your script can set a field in the Cover Page table to link it to the correct record.
Or you can define a global field for the title, place the global field on the layout and have your script use set field to copy the text from the title field to this global field.
A table of contents is possible as is a field that reports the correct page number on each page of your report, but it requires using a script that previews each layout in turn, using Go to Record/Request/Page [Last] and Get (PageNumber) to get the number of pages for each layout if your different layouts contribute a variable number of pages to the combined report.
As always, thank you for pointing me in the right direction.