It looks like Garmin have published their own standard, the Garmin PeerPoint Messaging System, for SMS-based communication between devices running Garmin XT.
A message encoded with version 2 of their standard might look like this –
<GarminLoc>Meet me at Taco Bell<C>N 38.85847 W094.81600 <G>201000021ba1f800bc934600
The human-readable location <C>N 38.85847 W094.81600 is optional, so a minimal machine-readable message could be made quite compact. However, there is no mechanism for representing altitude or accuracy.
The machine-readable component of the message is quite interesting. The first 8 digits are administrative overhead, but the characters 1ba1f800bc934600 encode the latitude/longitude as a pair of hexadecimal 32-bit signed integers. Each integer has a value in the range [-2147483648, 2147483647], which is converted to degrees by dividing by 11930464.71
This is actually a very compact format. The location is expressed accurate to 7 decimal places in just 16 characters. To achieve a corresponding level of accuracy in a base-10 encoded latitude,longitude format you would need around 23. Unfortunately it’s not human readable (or backwards-compatible with version 1 of the standard), so it’s recommended that a human-readable location be included as well, which eliminates any compactness advantage.