I don't quite agree that what you are doing is right (if the labels need to be different, it sounds like you should have different typedefs), but I may have a way for you to do what you want.
The attached 7.1 llb has three VIs:
MyTypedef.ctl - simple typedef
UsesTypedef.vi - Uses the above typedef.
ModifyTypedefLabels.vi - Changes the internal label of an element of the typedef.
When you run Modify, it will change the label of the string control in the typedef. This change will be reflected in all VIs in memory that use the typedef.
Drawback: All VIs that use the typedef will have their modified bit set.
For you to use this, you would change modify to point at your typedef, use an enum to control which one of three sets of labels yo
u write, and change the write code to write all these labels.
Enjoy,
Roy