Unfortunately there's no easy way to get the grabber to pick up multiple configuration files/lineup.
Partly I guess it's because many PVRs require a separate xmltv lineup/file per "source", so it's assumed that your xmltv config and channels for "Freeview (DVB-T)" would be completely different than channels for "Freesat (DVB-S)" or "Astra 19.2 (DVB-S)".
For example with one PVR I know you have to feed freeview.xmltv in to freeview channels, freesat.xmltv in to freesat channels, and they are all kept separate. Whereas with Tvheadend, all the channels are lumped together so you can't say "this xmltv file is only for this subset of channels on this source network."
Assuming you want to feed multiple lineup configuration files in to tvheadend, then the approach I take is here:
https://tvheadend.org/d/6034-missing-channels-what-is-up-with-freesat-at-the-moment?r=33859#message-33859
You'd need to replace "*.xml" with "*.conf" in the script. But, basically, you could name the files anything you want as long as they ended in ".conf". So you could name them "freesat.conf", "freeview.conf", "skyhd.conf".
The xmltv grabbers have a "--config-file" option to tell them which file to use.
Just remember that the last (alphabetical) file wins. By that I mean that if Freeview and Freesat has channel Bob, but it's only available 6pm--10pm on Freeview but 24h on Freesat, then you'd probably want a Freesat filename to be last so you get 24 hour listings, and then give higher priority to DVB-S tuners. I don't know if Freeview still has those partial channels, but I know it used to be annoying when half-way through a Freeview programme would cut out as the channel ceased broadcasting.