To actually have your LSB relevant you have to make sure your noise level is below that - in case of 18 bit resolution that's about 4 ppm. That includes electrical noise (so good filtering of the power supply and shielding), stability of your laser (variation in pulses smaller than that), and stability of the sample itself.
Then if you want to go to 10 MHz you have to deal with 30 MB/s of data (3 bytes per 18-bit data point). That's more than an Arduino can handle. Even at 1 MHz you end up at 3 MB/s.
There are 16-bit and 24-bit ADCs around, I don't know if there are also 18-bit ones. In your case you can just go for the 24-bit ones. I expect the data sheet of these components will have lots of info on how to stabilise everything.