Okay, sorry that didn't help, it was just a thought.
I will say this: Normally you don't make this association in the Services tab. Normally you map your services to channels, and you import your XMLTV EPG feed, and then you go into the Channel/EPG tab and then the Channels tab and then associate each channel with an EPG source. Once you have done that you re-import your XMLTV EPG feed because now it will know which listings go with which channels. Refresh your browser after EPG import operations or it might not work. In the Channels tab you can also change the channel name to something more user-friendly. But anyway that is where you match each channel to an EPG listing. I get that it's nice when it happens automatically but unfortunately things don't always work that way.
All the channel information is stored in a database and I'm afraid I don't know enough about Tvheadend to tell you how to access that.
The real problem may be if the IPTV service mixes up its service names and every time you download you get a different list. Tvheadend SHOULD still keep all the channel associations for any channels that haven't changed but every time you map new services to channels you will probably have to go through this process again. When I was talking about sed I was assuming you'd use it on one of the files you get from your IPTV provider, but I'm not sure if that would work because I don't use IPTV; all my channels are from over-the-air and satellite sources (except for a handful of live streams I added manually), also I am running a somewhat older version of Tvheadend so yours may deal with IPTV completely differently. It's entirely possible someone else can give you better or more current advice than I am able to provide.