Advise you to use code tags (# button on posting toolbar) because this forum will inject spaces and maybe other unwanted stuff into long expressions. At first glance, you have an extra ending bracket.
[PWSName],]
#Name error usually results from a reference that cannot be resolved. Sometimes it is due to misspelled names.
EDIT - have to admit I'm getting rusty. Not sure if you can use IIF as a controlsource property.
#2 - yes you can. AFAIK, the field used in the expression must be part of the form recordsource. I can't tell if you're trying to reference a different domain (table or query) aside from the one used by the form. If different, you may need to use DLookup with criteria instead/as well. Or get the value via code.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.