Tor circuits have IDs that could be used instead of IPs. Of course, these are only visible for hidden services.
Doesen't the circuit change with every reconnection?