The easy way with a for loop is to use the delay() function. That stops processing for the delay time so is like a pause. The delay can be adjusted during execution with the tempo/bpm pot. However, the use of delay will affect the responsiveness of the program.
The better way is to use if statements instead of for loops. Then use the millis() function for timing. That way the pot can be read much more often. The several things at a time tutorial and the using millis for timing tutorial are places to start.