Brainstorm: Add related records as "mass update"

I have a complex scenario:

I have a custom subpanel on Leads for Products of Interest.

Each Product of Interest has a series of qualifiers. Which qualifiers apply to which product is determined in a custom Products of Interest Catalog.

When entering a Product of Interest one selects from a product dropdown (generated from the custom catalog) and is presented with checkboxes and other dropdowns for the applicable qualifiers (again, based on the custom catalog).

I want the user to be able to Mass Assign Products of Interest by selecting a number of leads from a filtered list and assigning a product with certain options to each one. All leads would get the same product/options.

I am thinking the solution is to have an Action on the List that would open a  Products of Interest drawer. Here the user would select the Product of Interest to be added and set the options, when saving I would create a Product of Interest record for each item in the collection.

The other option is easier to code but messier to maintain:

Have a panel for each product and put each product and qualifiers for each product on the Lead itself. I don't like this approach because as products and qualifiers change in time we'll end up with abandoned fields and messy re-naming.

Can anyone think of something better/easier?

thanks,
FrancescaS

SugarCRM v7.6.1 Professional