I'm not sure what the specified frequency accuracy of crystal based Arduinos is but I've seen several people report that they've measured 40 ppm. This is an error of .8 Hz at 20Khz. I have seen Agilent frequency counters that spec this performance. They cost about $1,000.
To get better performance, people commonly use RTCs. Maxim says their RTC's are good to about 20 ppm.
For your lowest desired frequency, 0.10 Hz, an accuracy of 10 uSec is ((10^-5)sec/10sec)= 10^-6 or 1 ppm. So what you desire is an accuracy 20 times better than the spec for the RTC.
For a frequency of 20 KHz, 10 uSec error = (10^-5)sec/ 0.00005 sec = 0.02 or 200,000 ppm. Since the period of 20 Khz is only 50 uSec, a 10 uSec error is huge.
These estimates don't address the impact of temperature variations or things like the response time of the sensors and the processing time of the Arduino, among other things. These additional error sources will have factors that you can adjust for like temperature compensation and measurement of the processing time but they will also have factors that are random.
Calibration of your test equipment is going to be critical. Otherwise, you may get results with a high degree of precision but not your desired accuracy. If you have lab grade equipment it would be interesting to see your results. I think it's going to be very challenging.