I have a composite component consisting of three included components an image a title and a text component. Normally since the title component inherits the `wcm/foundation/components/title` the data-sly-resource included component gets the title type option (h1,h2...) from it's parent. However for this specific composite component I want to limit the type option to just have h2 available. The Title component is included in the composite component like this:
Copy the JCR Dialog from the the title component to your new component. Then make the modifications under your new component's dialog JCR nodes. That is the best way in my view. It works and cuts down on complexity.
In my usecase, since H1-H5 styles are managed in styleguide, we use Generic Lists from ACS common to manage these lists. We created various variations based on the component context definitions (hero components title -> h1- h5, banner components - h2->h5 etc)
I also prefer the 1-1 approach. Each component has its own JCR branch that defines a dialog. This makes it easy to control which fields are used in a component dialog. As Lokesh mentions - if you want to do more complex stuff - you can write event listeners, etc.