You can find references to it, and I think there is a document that describes what most of the !x codes are all about, but it never really goes in to much depth about each one so its kind of a guessing game in a way.
Found it: »www.cisco.com/en/US/products/sw/···aceroute
e.g. !H is host unreachable which you'd probably see if you had no route to the destination subnet.
But then you have * and T which are both a timeout of sorts. What T refers to exactly is another question. Im sure there is more documentation floating around somewhere, but Ive never looked. The basic 3 (*, A, H) tend to be the only ones I come across.