I presume nick703 wants to dynamically change the speed so it goes faster when more steps are required. One option would be to forget the table and calculate it mathematically, more steps = shorter step delays. Obviously taking in to account the limitations of the motor and driver circuits.
Somethng like:
number of steps = abs(present position - desired position)
if(slowest step speed time - (number of steps * a constant) < fastest step time) step speed time = slowest step speed time - (number of steps * a constant)
else step speed time = fastest step time.
Please don't put that in a compiler and expect a result !
Brian.