My approach would be a VBA procedure that opens a recordset of the unique identifier and loops through the recordset and output PDF of report filtered by the identifier from the recordset. I recently did something quite similar to output PDFs of about 70,000 reports from legacy database. An extract of code:
I couldn't actually output all 70,000 reports in one batch run. Had to do it in groups of about 5,000, otherwise Access would crash.
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open "SELECT LabNum FROM Submit;", cn, adOpenStatic, adLockPessimistic
While Not rs.EOF
DoCmd.OpenReport "LabReport", acViewPreview, , "LabNum='" & rs!LABNUM & "'"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, "drive:\path\" & rs!LABNUM & ".pdf", True
DoCmd.Close acReport, "LabReport", acSaveNo
'kill Adobe Acrobat so I don't have thousands of open pdf documents
Dim objWMIService As Object, objProcList As Object, objProcess As Object
Set objWMIService = GetObject("winmgmts:")
Set objProcList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'acrobat.exe'")
For Each objProcess In objProcList
EDIT: I have since discovered the 'kill' code is not need if the True parameter of OutputTo is changed to False. The 6 lines of code following the 'kill' comment are then not needed.