Variations on this question have been asked in the past, and the answer — as you have likely discovered now — is that "dynamic" capabilities, commands, and attributes are not supported. Further, there are currently (or at least as of the last time they addressed this question) no plans to change that. Among other discussions, see: Eliminating driver code mess - #8 by mike.maxwell
I'm not exactly sure what your use case is, but one thing that might help you with creating similar drivers for different-but-similar devices is libraries. This allows you to re-use code in drivers or apps. So, while your attribute list might be statically defined, if the way you handle most of these attributes is re-usable, you could move that out to a library and share that among a few device-specific drivers.