In parts allow user to save a certain selection of multi-value dimensions under a named set (like saving positions in Assemblies). Allow a particular multi-value dimension set to be selected when inserting the part or when deriving in the part.
Then you can insert many different versions of a part (at different sizes) like you can do with insert iParts. But this would be considerably easier and quicker than creating iParts.