As I understand this you want to control four bidirectional DC motors with a Basic Stamp and are willing to run only one motor at a time. See what you think of this:
For each motor you have one open collector output driving one series motor relay, with a pushbutton switch in parallel with the I/O to activate the relay manually for testing. Two normally closed limit switches with bypass diodes interrupt the motor current at the travel limits.
The motor power supply has a DPDT relay on its output to swap polarity, driven by the fifth I/O or pushbutton.
You build a little wirewrap board containing a current sense resistor and DIP dual comparator with setting pots. Each comparator compares the sense resistor's voltage drop to its pot setting. You set one comparator to trip a little below the normal motor current and the other at twice that. The comparator outputs drive two Stamp input pins. I'd pick the resistor to drop a few tenths of a volt. You might need an RC low pass filter between the resistor and comparators for motor noise.
That's 5 outputs and 2 inputs.
The high comparator detects problems, such as stuck linkages or two motors on at once. The low comparator tells you whether the motor is running or has tripped a limit switch. It should also detect broken wires, loose connectors, etc.
You estimate position by first running a calibration, measure the number of timer ticks to travel between limits. Then you enable the motor for some number of ticks and add or subtract that from the position register.
This ought to get you going.
If you buy DIN rail relays they have the manual pushbutton built in.
jsw