Pre/post randomze behavior in randomize(null)

There is no direct way to influence whether pre_ and post_ are called. That’s a good thing in most situations - even for constraint checking - because pre_randomize() is typically used to set up some structural requirement for the constraints to be valid, and post_randomize is typically used to perform some final validity check.

If post_randomize has side-effects, though, I can see that you may want to disable it.
The only other method I can think of is to extend the class, declare empty pre_ and post_randomize, and use a handle of that type for your constraint check:

class randomize_proof_noprepost extends randomize_proof;
  function void pre_randomize(); endfunction
  function void post_randomize(); endfunction
endclass

note: post_randomize is never called if the constraint FAILS.

Methodology advice: pre_randomize() and post_randomize() are very rarely needed and should do only what is necessary to maintain the constraints. Wanting to disable them may be a symptom that they are doing something with side effects that may better be done after/outside the randomize() call altogether.