Assume for a moment that you are creating a commercial product for SharePoint. This product will be offered in both Community (free) and Enterprise (pay) editions.
The code base for the Community edition is a subset with minor deltas all handled through (C#) #define statements. Effectively it's a single code base. The build process builds two solutions (each containing two features), one for each edition.
It should not be possible to install both editions in a farm at one time. The current business model offers the community/free version only for single server SharePoint farms. This is intended to support individuals and development scenarios.
The solutions include a variety of functional elements but currently no web parts. It is possible that one or more web parts may be included in a future release. Any approach that limits solution/feature contents is probably not the best idea in the long run.
To what extent would you reuse solution and/or feaure ids across the editions? Why?