mDNS autodiscovery by name would be my preferred solution, which should work by default on major OSes as long as the network operator or device administrator hasn't gone out of their way to break it. <yourhostname>.local
Like I said in my previous post, for the most part if you need to actually communicate the raw IP that probably means something has gone wrong and you're now troubleshooting with someone who should have access to a higher level view of the network where "the one ending in 3 charlie echo 5" should be more than sufficient just like it would be if you were communicating a MAC address while troubleshooting DHCPv4 issues.
In the 12 years I've had a dual-stack network I've never had to communicate a full IPv6 address verbally, but if I did I'd pretty much do it the same way I would an IPv4 address. One group at a time, with a pause implying the separator. If there was one or more zero subnets involved that could be shortened with double-colon I'd say that.
For example the record I just got back for Google of 2607:f8b0:4023:141b::71 I'd read off as:
two six zero seven (or maybe twenty-six oh seven)
foxtrot eight bravo zero
four zero two three (or maybe forty twenty-three)
one four one bravo
double colon
seven one
edit: HN makes it way harder than it should be to have multiple lines.