Kassem pretty much covered it. However, not knowing the level of knowledge you have with WPF (and .NET for that matter) might cause answers to your questions to seem either too vague or too little. I'll try to add a couple of things to what Kassem said.
Kassem wroteb. Create a shared-context service which allows you to share stuff between the different components of your application. I recommend doing that over the aforementioned solution, it's more elegant and probably more flexible.
This on the long run, may deem to be problematic especially because its a shared service. You really don't want to be dealing with it manually and your best bet is to delegate the work to an Inversion of Control container that will manage the service throughout the lifetime of your application.
If this is in anyway a blurry area to you, disregard it and build a shared service.
2. Concerning the other question about showing and hiding stuff accordingly to certain variables, the answer is quiet simply: Data Binding. Use the solution of question 1 to know whether the user has chosen Local or Foreign. Accordingly, set the value of some property on your viewmodel which you will bind to the Visibility property of the NSSF control and give it a ValueConverter which returns the Visibility based on the value of the data-bound property.
There's really many ways to do this even with DataBinding. I'm not going to focus on your problem at hand, I'm merely going to show you how you could use a converter within the context of what you're trying to do. Mind you, this is merely just a quick scribble and it works but you should be properly decoupling the code when you build your solution.
http://pastie.org/3023294
The dummy entry in the employees is merely to identify that being a Local with an empty NSSF is different than being a Foreign, which is why you wont see the textbox for the Foreign entry.