A better way to handle this is through the Access & Privileges...
For the user's account, use Custom Record Privileges and set your contacts table under "View" to "limited" and use the formula along the lines of
Cotacts::Department = "Sales"
I've made a number of assumptions about what accounts you have in your system.
Note that if you do it this way, you'll also want to set up a mechanism in which the user is always within a found set that they can see.
Taking away the ability to view does NOT take away their ability to land on a record they cannot see...it simply populates all of the fields with "<<no access>>" which is annoying.
Instead, set a script on layout load that puts them in a found set according to what they are allowed to see, such as when Contacts::Department = "Sales".
I was aware of that option! And that is what kind of what I wanted to do. I thought because of the Userexperiance it would be good to have a seperate layout only using the selected fields.
But I guess using the On Layout load would demolish that problem!