Hey Andreas,
I like the idea, but can't really live with the code you submitted. I've implemented something similar, except without the funky hacks, and with :natural occurring as a separate keyword, so you'd get...
(:select 'x 'y :from 'foo :natural :left-join 'bar :where (:= 'a 2))
It's in the repository. Could you see if it works for you?
Cheers, Marijn