It is interesting that you ask this because I've come upon a need to do the same thing. I implemented simple convention based solution this morning, and created a document about how to use it here:
The FeatureDefinition file is really not related to the running of database scripts at all, it will run scripts that exist on disk in correct locations even when there is no featuredefinition file. The feature definition file is really just used to install the control for the feature and configure default settings. The list of supported databases in the featuredefinition is only used to decide whether to install the control or not.
The convention based approach I think is better than storing connection strings in the database and was easier to implement.