Hi Charlie,
Not sure how the two elements of your question correlate, as a program and a database field do not necessarily correlate with eachother. In general:
- If you have the Program Import feature enabled (Marketo Support can do this for you), yes you can import a program from one instance to the other.
- It is good to realize that references to things outside your program don't always travel too easy. If you have snippets in your emails or landing pages remove them before importing. Same for e.g. references to a global form. You can restore these after your import.
- If the program actually uses a field in a smart list or smart campaign that is not there in the destination instance that will of course not work. Not entirely sure whether the program will copy but the reference will be removed or the copy will not work at all. Either way you will need to find a solution to deal with this data field not being available in your destination instance. If the import fails over this, again you can choose to remove the reference to it in the source instance, then make the import and restore the reference after you're done.
Program imports are a powerful tool to share knowledge, but as you see there's a few tricks to be aware of.