Ah, I see what you mean. That can work as well. I do that myself. You would have to have seperate homing macros that would configure the endstop and do the homing or probing move.
Here's my hometoZmax macro as an example.
; HomeZMax.g ; Called to home Z to max endstop M574 Z2 S1 ; Set active-high switch (Opto) at the high end for Z Max. G91 ; Relative positioning G1 S1 Z330 F300 ; Move bed down until endstop triggers