It's possible to append new fields onto shapefiles, but in the help they are referred to as "newly created shapefiles" so I don't know if you can do it with one that you're editing or one with data already in it. (See RecordSet -> Fields -> Append)
Your other question about having the form throw errors if the field doesn't exist: It probably won't, but you'll have to do something programmatically to handle having them / not having them, like programmatically saving the variables in question, or having seperate forms that fire depending on which shapefile is being edited.
Why do you need to do this though? Why not just have the fields already existing in both shapefiles, but remain empty for one scenario?
I'd rather right-click, delete empty fields post-field work everytime (this could be done during check-in if scripted so no one has to think about it) than hassle with this, since it just reeks of potential issues / possibility of not saving things.
Sorry, obviously this isn't a magic bullet to solve the issue, but I'd reconsider the reasons for the field dance. I've worked on projects where instead of reconsidering and changing things in the middle we plowed ahead with a flawed design that we could compensate for with programming effort. Trust me, simple and elegant is the way to go unless absolutely necessary.
Hope this helps,
Eric