How to pick coefficients for Fractional Delay Filters?
I usually do this by creating a low pass filter that entirely passes through the signal that I want to delay.  I create the LPF "manually" by creating a windowed sinc function.  Something along the lines of-

filt = sinc(-80:.8:80);
filt = filt .* hamming(length(filt)).';


This gets you a filter that passes about 80% of the nyquist region (the 80% is set by the .8 increment in the sinc indexing).  To get a fractional delay you simply include the fractional delay in the calculation of your filter.  Adding a constant to the sinc indexing delays the filter by $\frac{constant}{increment}$ samples.  For instance, in the case of the filter above, adding 0.1 would create a fractional delay of $\frac{0.1}{0.8}$ samples, or $0.125$ samples.

filt = sinc((-80:.8:80) + .1);
filt = filt .* hamming(length(filt)).';


This works because filtering is a linear operation and delaying the filter is equivalent to convolving your original LPF with a fractionally delayed delta function.  Since linearity implies that the associative property holds, convolving your signal with the delayed LPF is equivalent to convolving your signal with a fractionally delayed delta function and then filtering it with the "undelayed" LPF.

Note: When creating the "undelayed" LPF you must make sure that the indices are symmetric.  The easiest way to do that is to make sure the start and end points are integer multiples of your indexing increment.  That is why I used +/- 80 for an increment of 0.8.