No, there's no hook, but depending on the amount of data you want included, you can get the data included in searches (be it native EE, Low Search or SolSpace search).
I had the same issue with Expresso Store that the modifiers (colour/size) didn't appear in the search results - only SKUs were included by default.
You'll need to have some sort of fieldtype for this to work, then you save the data in there. In the example of Store, it holds all it's data in it's own table, and although there is a new column in the channel_data table (field_id_xx), it's not used by the module and doesn't appear when editing the entry. But what's key is that EE will use this column for searching purposes - so you can load whatever you like in there for the search results. So for Store, upon saving an entry in the backend, I parse through the store fields (price, modifier name, option name, etc), then include that raw data in the field. As mentioned, it's not used by Store on the frontend or backend, so no consequences.
In a fieldtype there's a method that can be added called "third_party_search_index" which allows you to load additional search data (so it's not stored in the channel_data table) for other search add-ons.