I am going to assume CNC Pro and a Galil card. If either is not true, this advice should be double checked.
MANY years ago I also had a machine that did not have both limits and a home on an axis. Being a clever programmer, I found a way to custom home off a limit switch
But, it was not reliable. Work most days then hang others. I ended up installing the switches. My advice, save the grief; install switches. Now, I do have one axis where this was never done. It is homed manually, then the position is saved at shutdown. Only need to re-home if something was changed between shutdown and startup. This works even if the machine has sat for months.
Homing is really a function of Galil. The home routine first looks for a home switch, then an encoder index mark at fast jog. Finally it creeps off the index mark and declares that axis homed.
On your other question. Without a doubt Camsoft is the best control for custom logic. It will do what ever you can conceive and program.
Karl