It may be best for you to write your own menu system, or find one on one of the many sites that have free iSeries software.
One (not free) utility is at http://www.iseriesmenu.com/ (I have not used this). It’s 100 dollars.
If you have the time, designing and writing a flexible database-driven menu system is useful experience, and fun!
UIM menu options can be conditioned on almost anything you want. But it wouldn’t make sense to complicate them that much. At that point, it’s no longer a menu anyway.
What you want isn’t a menu. It’s an application display that will be processed in a manner similar to menu options.
I might consider creating message files with message IDs MNU0001, MNU0002, MNU0003, etc. The 1st-level text of each message ID would be the menu option text and the 2nd-level text would be the command to execute for option 1, 2, 3, etc. A message file might be created for each user, where the name of the message file is the same as the user profile. That would make it easy to know which message file to retrieve the menu options from.
Or you might have a simple table that associates a user profile with a message file. A user might be associated with a message file that’s unique to the profile name or it could be associated with a group menu. Switching menus between users would only require updating the table.
You’d find the message file for a user, retrieve the messages in order writing the text to the option lines on the display, take the option typed by the user and execute the command in the 2nd-level text.
Straightforward, individually customized, flexible, changes in a few seconds…