Tokens for multi-valued fields?
Here's one way to the get the output formatted as desired:
expr = z^(a + b) /. Power[base_, exp_Plus] :>
With[{powers = Power[base, List @@ exp]}, HoldForm[powers] /. List -> Times]
But the result is a held expression, which must be released in order to use it in standard evaluation. When released, it automatically adds the exponents. (There are internal rules that are applied whenever an expression is evaluated. As far as I know, there is nothing that can be done about them, except to hold up evaluation.)
expr // FullForm
HoldForm[Times[Power[z, a], Power[z, b]]]
expr // ReleaseHold
z^(a + b)
The held expression expr
does not combine algebraically with other expressions, until it's released.
expr/z^a
z^-a (z^a z^b)
expr/z^a // ReleaseHold
z^b