I think performance-wise there is little difference: NPY_* are all inlineable constants (casting is done at compile time). Moreover, static variables need to be loaded, and they may need to be loaded more often as the compiler cannot always assume they remain constant.

Now that you point out umath_linalg.c.src, also that could use some cleanup, I think.