Well you might be able to just look up some kind of information from the system that will tell you if the user has rights to a file using the AS400 CL system statements if it is in their profile. For instance you could have a group for the users and if they are not in that group they can not run the program.
I have not messed with an AS400 for a few years and that was only in school but I know you can have groups. On the mainframe we use CICS and somehow we look at where people sign onto the system from. Based on their network address we decide if they have view or update authority.
You could put the jobs that run the programs in different Libraries and put all the restricted jobs in a special Library based on if it is an Accounting Job, or HR, or some other category. Then require a password for each library or something like that.
We are working on a new Database System where the files are split up into Directories and the application does not allow access between HR, Student, Accounting. However, all areas have access to Core and maybe the Toolkit for development. With security you have to have workarounds because some people may not work in another area but some programs like Payroll may need to see HR data or something like that.
If you do not like my post feel free to point out your opinion or my errors.