One option is to store the images in non global fields in a utility table. You can then use a script that loads your global fields from the table either when the file opens or in a scheduled script from the server. You create this schedule on your server but leave it disabled, then, whenever you need to run the script to set your globals you run the schedule once from the server admin application. (Server scheduled scripts run like they are being run from the host and thus your global field changes "stick".)
That sounds reasonable.
I'm presuming the script has to be manually updated every time you add a new icon field?
Or is there a way to automate the script so that it automatically checks for new fields and sets them? So for example, is there a way to add up how many fields there are in a table as a variable, and then loop through the fields? (In a similar way you would for records in a found set.) I've had a look and there doesn't seem to be a way to do that, but would love to be corrected.