I think once the ACL becomes long and complex, people stop putting them in the configuration directly and load them from files instead (-f).
Also, in those cases the ACL are often not updated by hand, but automatically by some provisioning scripts.
Not sure I understand why you cannot combine the ACL in the if statements though.
Generally we keep the feature and the code as simple and straightforward as possible, instead of implementing all possible combinations of features. This is especially true for things that can be abstracted away by intelligent provisioning tools.
That said, for this kind of discussions and feature requests the mailing list is probably better suited than this discourse forum here.