As one may expect, the result will depend on the contents of the square root. If the expression to be evaluated with a polynomial in four variables of degree 6 at least in my count.
So the decision, what the non-holomorphic functions Abs, Arg, Re, Im have to return depends on the position of the roots of the general polynomial degree 6 in C^4, known to be undecidable.
But there is a way out. If all parameters are real, we define
pc = p /. Complex[a_, b_] :> a - I b
and by complete expansion at least terms with different signs cancel and squares are real positive.
Norm2[a_, b_, c_, d_] := Evaluate[ Simplify@ExpandAll[ pc*p ]]
Numerically one checks
Norm2 @@ RandomReal[{-12, 12}, 4]
yielding
50.2231
instead of
328.049 + 2.84217*10^-14 I
if only a simplify is applied.
There is no possibilty of Simplify. There ar at least four symbolic mathematical constants in the system.
Norm2[1, 2, 88, 4] // FullSimplify
264
An integer mapping?