Ah, I'm guessing then that when the button is clicked, you walk the wire connections until you find an LTN combinator? That would explain why when I accidentally connected two due to a blueprint mishap, the wrong one kept showing up.
The performance cost might[1] be mitigated by only tracing wires for disabled combinators every nth_tick (frequency TBD). When a station is encountered, that combinator+station is cached and used use to show the disabled state in LTN tracker, and is removed from the cache when enabled. Otherwise, for enabled combinators, you never trace wires until they click the button in LTN station to locate its combinator.
At any given time, there's going to be--what?--one or two disabled combinators that are being traced? I do think, though, the caching will need to be a little more sophisticated since after it's cached, the network may change. Maybe it always has to be traced, but again, limited to only the disabled combinators.
[1] I say "might" because I've never programmatically used the circuit network.