We will be in Stavenger Norway, wanting to get to Leiden, Netherlands. Thinking of train from Stavenger to Kristiansand, ferry to Hirtschal, then train through Germany (stopping to visit friend in Bremen) to Leiden. Is this the best idea? Will a Eurrail pass be helpful or just buy individual tickets as we go ? Do we make some sort of reservations for the trains in advance? And are there tour guides in Leiden who can show us the town (my ancestors are from there)?
This might help you with Leiden
https://www.visitleiden.nl/en/plan-your-visit/information/tourist-information-centre
I would buy all individual ferry and train tickets. Are you planning to stop for a night before going from Hirtschal to Bremen? It is a long way.
Leiden has organised city tours, done by volunteers. I see them often in the city, and they look very knowledgeable. Contact them via their website.
Unless Kristiansand is a point of interest, I would take a direct overnight ferry from Stavanger to Hirtshals: https://www.fjordline.com/en/p/our-ferry-routes/hirtshals-stavanger-bergen.
When is the trip? Are there no other train rides we need to know about before comparing a rail pass? A pass to cover three or more countries starts from $350 per person for 5 travel days (unless you also qualify for a youth discount).
Train connections Hirtshals-Bremen and Bremen-Leiden don't require reservations but tickets can be cheaper if purchased in advance for specific trains. Both routes require a few transfers. See schedules and pricing through the Deutsche Bahn link at Looking Up Train Schedules and Routes Online.
I don't know how much research you have been able to do on your ancestors from Leiden, but the city has excellent archives which you might not have seen. Their website allows you to search documents, like birth and marriage, and even places where they have lived. It's Dutch only, but if you fill out the name(s) of your ancestor(s) in the box »Zoek op personen« you might get all kinds of original material.