OK, I just took an hour and figure out a relatively easy way to do it, which is fairly generic:
https://github.com/Fabrik/fabrik/commit/616b16473ba9c7282bc377b2f99cd30bea254884
The new "Validate Hidden" option defaults to Yes, so backward compatible with the existing behavior to always validate. If set to No, validation will be skipped if the element itself, or any ancestor (like the group or tab) has the fabrikHide class.
The element's status is checked during submission of the form, where we now iterate through all the formElements, and do a jQuery closest('.fabrikHide') on each element, and if that isn't empty, add the element name to a hidden input, that the sever side shouldValidate() method checks.
This works with the built in JS FX, as they add and remove that class to the element or group. It also makes it fairly easy for people to manipulate in custom code, by just adding or removing that class to whatever they want.
NOTE - I haven't tested this with repeat groups, multipages or tabbed templates yet. Just simple forms with simple test cases - JS FX to hide/show elements and groups.
Have a go, let me know.
-- hugh