It will run half as slow under no load. UNder load, it will run (48V no load RPM) - (24V no load RPM) slower than if it was running at 48V.
So if it runs 1000RPM no load at 48V, then it will run 500RPM no load at 24V. THe difference between no load speeds is 500RPM. So for the some fixed load where it runs 800RPM at 48V, it would run at 800RPM-500RPM = 300RPM.
You can use incremental encoders to measure absolute position if you have a reference point you can calibrate to (like on start-up). THen you keep track of how far away from that reference you have travelled.
Otherwise you can use absolute encoders to keep track of position. Magnetic encoders like the MAE3 or MA3 from US Digital seem to be the cheapest ones infinite rotation ones. Potentiometers are cheaper but only work for slow, less than 360 degree rotations.
EDIT: THis is all assuming that the applied load is LESS than the motor's stall torque (which varies with voltage. Half the voltage, half the stall torque.) Otherwise, like blueroom says, it won't spin.