Ron, a [multi-dimensional] array that contains the field ids and loop through the array can calling $CM._Fields[field id) to see if a value comes back or not. Then based on the results hide the remaining field.
The downside is that it introduce technical debt when moving the finding from one environment to another and the IDs would have to be updated after a package install; and there's some ways around this and if any new questions are added the custom object would have to be updated as well.
As I stated in my original post in the regular forum, I'm aware of these issues with custom objects, which is why I tend to avoid them as much as possible. This is especially true given we have 7 environments to coordinate. However, if it's the only way, then I'll have to figure this out.
As to your comment "there's some ways around this", can you elaborate? Is there a way to avoid the ID issue?