Unfortunately, field level access only allows "View" or "modifiable" settings, and does not include a "limited" setting that would allow you to have a value auto-change based on some sort of stored settings in a table solution.
The above solution I reference I have used in conjunction with a "settings" table, to allow admins to update settings for each priviledge set when it comes to view/edit/delete record access in all the (already existing, not new) tables in the file. But this was only for record level access, not field level.
With 20 privilege sets, it sounds like it would be a pain to come up with any alternatives in the ESS realm.
For now though, I think you just need to set expectations with your client that any time they request a new field, there will be an $x dollar charge related to administering their customized privileges to account for the additions, per their instruction of privilege settings.