I understand the reasoning behind this but the implementation seems far too limited to me.

Why not implement an access rule that reacts to the value of a variable where value and variable are specified in the settings for the access rule.

This generic could be suggested as a CTools patch or placed in a more generic Ding module.