Implementing a very sharp IIR (125Hz sampling rate, 0.2Hz bandwidth)
Try grpdelay(b,a,1e6)

This will plot the group delay of the filter at various frequencies and I get about around 240 to 350 samples for 'low' frequencies.

Yes, 32 bit should be sufficient.