En lugar de intentar usar solo la aplicación ArcMap, he incorporado ArcPy a la imagen.
Acabo de probar y lograr lo que describiste usando la clase UniqueValuesSymbology (arcpy.mapping) que tiene una propiedad de escritura de ClassDescriptions que se puede establecer en:
Una lista de cadenas o números que representan las descripciones de cada valor único que opcionalmente puede aparecer en la leyenda de un documento de mapa. Solo se puede acceder a estos valores en la interfaz de usuario de ArcMap haciendo clic con el botón derecho en un símbolo que se muestra dentro de la pestaña Simbología en el cuadro de diálogo Propiedades de capa y seleccionando Editar descripción. La lista classDescriptions debe tener el mismo número de elementos y estar organizados en el mismo orden que la propiedad classValues.
El código usa un cursor de búsqueda para leer la tabla de búsqueda en una lista y luego escribe esa lista en la propiedad classDescriptions de la clase de simbología de la capa. Tenga en cuenta que la tabla de búsqueda DEBE tener el mismo número de filas y estar en el mismo orden que los valores de la clasificación de simbología única . Debería mejorar mi código para tener en cuenta que ese no es el caso, pero asegurar mi orden manualmente fue fácil en mi caso de prueba.
import arcpy
vegDescList = []
vegCodes = arcpy.SearchCursor(r"C:\temp\test.gdb\LookupTable")
for vegCode in vegCodes:
vegDescList.append(vegCode.Description)
mxd = arcpy.mapping.MapDocument(r"C:\temp\test.mxd")
lyr = arcpy.mapping.ListLayers(mxd,"testFC")[0]
if lyr.symbologyType == "UNIQUE_VALUES":
lyr.symbology.classDescriptions = vegDescList
mxd.save()
del mxd