To clarify:
On a Motorola Type II system, the UID's are sent over the control channel, not over the voice channel. So what happens is, if the conversation on a TG is fluid and quick enough of a transition between radios that the TG holds the same channel grant, there is no way to see the UID because you haven't gone back to the control channel. However, if the delay is long enough between channel grants for that TG and the scanner returns to the control channel, you will see the UID of both units.
So it's not exactly accurate to say "you only see the ID of the first unit to transmit and won't see the other UID", it depends on the delay between users.
In order to "bridge the gap", you would need to somehow simultaneously monitor the control channel to see all of the grants (which includes the UID), as well as the voice channel to follow the conversation when the delay is very short between radios. In other words, you'd need two receivers. It's not a software thing, but a hardware thing.
Remember that trunked system analyzers (Unitrunker, Trunk88, the HP-1, etc.) are dedicated to monitoring the control channel, so they see every bit of activity on the system. They don't monitor the voice channels, so you can't compare what you see using them with how a scanner tracks the system when it has to switch to the voice channels.