Thanks, I had been looking at using the optional events but the description in descr_mercenaries.txt states:
"unit only available after all specified events have occurred, event is a string corresponding to descr_events.txt"
Does it also work with event counters created through the script? If it does then I will do as you also suggested, but I might cut the number of mercenaries back a bit, otherwise that file will get quite large.