Feature selection in msi
If you're fixing existing installations (it's always nice to get the full story AFTER replying, of course...), there's nothing wrong with using ADDLOCAL: any existing, installed features will remain in place.
If it were me, I'd create a script which uninstalls whatever went previously and then reinstalls "properly". That one script then caters for both existing installations and new ones.
With InstallShield Professional and Premier you would have the ability to set an INSTALLLEVEL for the features and assign a condition to those features to change their install level. When doing this you could pass a property from the command line which would make the feature condition true and enable the specific feature.
2. For new installations, use ADDLOCAL with all of the required features listed.
3. If you're serious about packaging, get your employer to spring for a proper authoring tool, instead of messing about with "not quite the full ticket" software. Yes, it's expensive but how much time have you wasted pursuing this so far?
The only way you can do what you are asking is if you have a really well thought out INSTALLLEVEL property.
I would follow what the others are saying and use MSTs to enable the appropriate Features at install. Or Create as many install commands as you need to install f1, f1f3, f1f2f3,f1f4,f1f3f4 etc
I have in the past used the command line to ADD features to existing installations.
Also, I have had some horrible vendor MSIs that use a CustomAction to configure feature install states, quite a pain.