Emulating a Variable Delay
Please see the answer to this question How to implement Polyphase filter?
on how to implement a polyphase interpolator, and then note that the same structure without actually commutating the output can be used as a discrete variable delay; each output is the input within the passband of the filter at a different delay in uniform discrete steps. By stepping through the output continuously as we do in the interpolator, we achieve a higher sampled version of the input. By staying at one output we get the input at a specific delay based on that filter, by changing to another output we get another delay. The design of the filter as given in the link will properly create the filters such that each is a different delay of the other (with the same ampltitude response) in uniform steps.   



Continuing with the example shown of "Resampling" further shows how a variable delay device results:

Here is shown a IS95 CDMA waveform with 2 samples per symbol (as indicated by the red dots on this eye diagram). The analog waveform that is represented by these samples is shown in blue.  



If we used the polyphase structure as an interpolator, we would get all the samples in between the 2 samples per symbol we have, evenly spaced, given by the number of filter banks in the polyphase structure.

Therefore it should be clear that we can select any filter output that is closest to the desired delay we want to achieve (in this case within one symbol duration). 



As mentioned in the comments a Farrow Filter is another approach to implementing a variable fractional delay in an FIR filter.