If a Toolbar Icon is linked to a Built-In command, it automatically gets the enable/disable functionality related to the respective command.
... even if the user chooses his own icon:

The easiest way to get a "dynamic" Icon into a user-defined toolbar:
Got to View/Cutomize/Menus and Toolbars, and rightClick copy the original function and paste it into the user-defined Toolbar.
To get such Shortcut Icons into user-defined Add-Ins, one has to follow these steps shared by @Jeff_Perkinson
Alternatively, one can edit the addin.jmpcust file manually.
The syntax is type="builtin":
<jm:command>
<jm:name>TEXT TO COLUMNS</jm:name>
<jm:caption>Text to Columns…</jm:caption>
<jm:action type="builtin">COLS:UTILITIES:TEXT TO COLUMNS</jm:action>
</jm:command>