In general, I agree. Here, I re-used the code that adds a LongName or Target to CIRC events. It's a single function call that returns the best information tor has about the remote end of a connection.
I'm not sure that I follow. Do you mean the Path attribute of CIRC events? If so then that's just documented as being a list of LongName (or ServerID in older versions)...
https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt#l1271
I'm not spotting anything that is overloaded as being both a LongName and Target.