The memory footprint of an extra 8-bit or 16-bit int isn't that big a deal. I've done worse for less (though I go to lengths to avoid it, too).
The bigger concerns are:
1)
The performance penalty of having to multiply or even bitshift AttackPower and MaxHealth whenever they're used would be substantial.
Or:
The bug-potential of having AttackPower and MaxHealth no longer be attributes of the ForegroundObject's UnitData object (which is shared by all ForegroundObject's sharing the same enum-Type and Player) would be... pretty impressive
2) How to show "this is a stacked/fused/whatever ship" on the interface is non-obvious to me:
Just showing the numbers would get cluttery in a hurry (as presumably there's gonna be a lot of these wherever there's any, or else the stacking would be unnecessary) and that would have a substantial performance impact as well from the extra draws (unless we create alternate baked runtime textures for every used combination of unit and stack-count, which has its own costs).
Or:
Drawing the mark number or something else in a different color for each stacking quantity would be a little less aesthetically disastrous but would have similar performance concerns in terms of extra draws and/or distinct textures, etc.
3) And ultimately I think there are just more interesting ways of packing strength into a lower unit count.