I'm not sure what you mean by map modes, honestly, but if you're looking to change the appearance of a unit, you can send actor messages to change the tint or maybe even apply a material.
You could use an 'Attribute' behavior and no more than 24 'Buff' behaviors if you do some decimal->binary conversion. The problem with attribute behaviors is that you can't easily get their value. In triggers you can only read the value when it changes (using the 'Unit Attribute Change' event and 'Triggering Attribute Points' function).
Could you be more precise as to what you mean by custom unit values? Sure you cannot remove some decimal places? In order to have the attributes you would need buff stacks and those becomes laggy at over 40k. Using triggers to do all the calculations as variables and use text tags is probably the easiest solution. Alternatively you could use Text actors and use actor messages to change what they say.
0.963815789473684