The question is unclear and looks naive. You are trying to find an application-specific approach to a very general problem (but anyway don't provide enough information).
Try to think in the following direction: why would you need to save form data, in memory or not? A form is needed not for itself, it plays a role submissive to the semantic of some application, is used just a UI presentation and control; using the form, the user look at data and express the decisions on how to modify the data.
So, first of all, you need to isolate the data from the UI presentation of it. You need to have some data model which stays in memory (in your case; I'm not analyzing applicability of the memory presentation of it, assuming that you are right here) and can persist in one or another way (not always, but otherwise your application could not create or use any data artifacts). The data model (your employees and there relations, communications) should not depend on the UI. Then, you will need to bind this data with your UI somehow. In a simple case, you should have a method of populating the form(s) with data model and a method for updating the data model according to the state of your UI controls.
You need to review your design and start from here. I would suggest you learn and analyze applicability of the following
architectural patterns (
http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)[
^]):
MVVM — Model View View Model,
http://en.wikipedia.org/wiki/Model_View_ViewModel[^],
MVC — Model-View-Controller,
http://en.wikipedia.org/wiki/Model-view-controller[^]),
MVA — Model-View-Adapter,
http://en.wikipedia.org/wiki/Model–view–adapter[^],
MVP — Model-View-Presenter,
http://en.wikipedia.org/wiki/Model-view-presenter[^].
Pay attention for the motivation of those architectures. If you understand it, you would be able to create better design ideas.
—SA