Yes that makes sense. You can do it, though your offset will need to be spot on since you won't be using the probe to home Z. Otherwise your heightmap could have a larger than expected offset. The trigger height of the switch would need to be offset to exactly where the nozzle would be touching the center of the bed.
You could find this offset with gcode as well. Touch the nozzle to the bed, use G92 to set Z0, You'll need to use M564 S0 to allow movement beyond the set axis limits and then jog the nozzle until it just triggers the switch and note the Z position. It'll be a negative value. This value would also change any time the bed was releveled. This is a disadvantage to not using the probe to home.
Your homeall.g could be modified to move the print head to where it needs to be, configures the endstop, and then triggers it setting the Z position with a G92. Then you'd have to return back above the bed surface and move to a safe location to start the print from.
For the probing of the mesh you could edit bed.g to configure the probe, prompt you to ensure it's mounted, and then execute a G29 to generate the heightmap, and then prompt you to reinstall the nozzle.
Hopefully that makes sense. Let me know if you want more detailed macro examples.