We have the same problem, Clinton: myriad forms with one-time-use custom field requirements for promotion specificity. So I created a batch of ad-hoc 'form fields' named by data type; ff_Str1 ff_Str2 ff_Date1 ff_Bool1 etc. I use them in whatever form I need an extra field in, and store the info just long enough to push it into an alert to the parties interested in the specific choice, then clear them in the form submit handler campaigns.
Only problem is I don't store them (can't, don't want them to possibly pre-populate from some totally different ad-hoc usage) so if the info needs to live, it's up to the interested parties to track it from the alert wherever they need to.