I think your requirements would be most easily and intuitively met by having a single map with all the layers included and then to write a simple Python script that uses layer.visible to toggle layers on/off before exporting each page using ExportToPDF.
PDFDocument can then be used to append the pages into a single PDF file.
The technique is described in an Esri blog called Combining Data Driven Pages with Python and arcpy.mapping which also includes the code below.
For example, you can create a thematic atlas with multiple pages
specifying a different theme on each page. The following example zooms
to a selected parcel, toggles on different layer visibility and
exports the layout for multiple themes in order to create a parcel
report with a soil map, a flood map and a zoning map:
import arcpy, os
#Specify output path and final output PDF
outPath = r”C:MyProjectoutput\”
finalPdf = arcpy.mapping.PDFDocumentCreate(outPath + “ParcelReport.pdf”)
#Specify the map document and the data frame
mxd = arcpy.mapping.MapDocument(r”C:MyProjectMyParcelMap.mxd”)
df = arcpy.mapping.ListDataFrames(mxd, “Layers”)[0]
#Select a parcel using the LocAddress attribute and zoom to selected
parcelLayer = arcpy.mapping.ListLayers(mxd, “Parcels”, df)[0]
arcpy.SelectLayerByAttribute_management(parcelLayer, “NEW_SELECTION”, “”LocAddress” = ’519 Main St’”)
df.zoomToSelectedFeatures()
#Turn on visibility for each theme and export the page
lyrList = ["Soils", "Floodplains", "Zones"]
for lyrName in lyrList:
lyr = arcpy.mapping.ListLayers(mxd, lyrName, df)[0]
lyr.visible = True
#Export each theme to a temporary PDF and append to the final PDF
tmpPdf = outPath + lyrName + “_temp.pdf”
if os.path.exists(tmpPdf):
os.remove(tmpPdf)
arcpy.mapping.ExportToPDF(mxd, tmpPdf)
finalPdf.appendPages(tmpPdf)
#Turn off layer visibility and clean up for next pass through the loop
lyr.visible = False
del lyr, tmpPdf
del mxd, df, finalPdf