See How many taps does an FIR filter need?
In your case you'd need more than 1000 taps depending on the allowable ripple, as your cut-off frequency is less than fs/500.
use an IIR, a simple order-1 DC removal filter could work great
Average your signal and subtract the average in order to remove the DC
Rick Lyons proposes a clever ...
Since this is an FIR, the group delay is D=(N-1)/2=20 samples.
No, since this is a linear phase (i.e. symmetric or anti-symmetric) filter, the group delay is half the length! (being a FIR isn't sufficient.)
The issue is that I get too peaks in the cross correlation, one at zero lag and another at 20 lag.
Write down the formula for auto-correlation at ...