I need a clean 40Mhz square wave to power the "sender" transducer
Even if an Arduino could generate a 40MHz square wave, "clean" or not, no ultrasonic transducer can respond to a frequency that high.
I don't need huge resolution on my reading (I think 8-bits would be plenty)
Could you at least try to make sense? Sampling a 40kHz sine wave at 40MHz or even 3MHz with 8-bit resolution is pointless.
Pete