You should probably store those as child records of the original table. If you ever get a 4th or 6th Functional group you will have to rebuild every thing.
If they were in a child table it would be simple to check the child table for the presence of any records for the header record.
If you want to pursue the current design (and I wouldn't) then something like;
Code:
WHERE listSystems.funcSysName01 = [enter FuncSysName]
OR listSystems.funcSysName02 = [enter FuncSysName]
OR listSystems.funcSysName03 = [enter FuncSysName]
To answer your second question you could put the available system functions names in a lookuptable and use a combo box on a form to refer to them and use the combo in the query.