Think about your problem like this
Suppose you have a variable called stepperDestination. Normally it holds the value 0. While you hold the button it gets the value 1000. When you release the button it goes back to 0.
Now suppose you call a function such as
mystepperMoveTo(steppperDestination);
This will probably be much easier with the AccelStepper library because it keeps track of the actual position.
...R