It is possible to create arbitrary user data that can be attached to any object. This user data can then later be used at shading time by specific nodes with a user prefix.
A video tutorial that demonstrates the use of the user_data_string shader can be found here. A tutorial on how to use the user_data_RGB shader can be found here. Information about User Data shaders can be found here.
The convention used to store the user data can be found in different data types such as color, float, etc. For example:
Only alphanumerical characters, dashes (-) and underscores (_) are allowed in the parameter name. Arnold converts all other characters (including spaces) to underscores. For instance in the above example 'My Color' becomes 'My_Color', which you have to set in the user_data shader. Also note that parameter names are case sensitive.
You can check the Arnold parameter name if you export the scene to an .ass file and look for the user parameter as follows:
If the display color of an object is enabled we will export the 'display_color' RGB as a user data.
A tutorial on how to use the User Data RGB shader can be found here.