How would you implement a new control structure that way? I think it won't be possible unless you write a parser for the whole language.
Take clojures "or" for example, it's just a macro. The language has only very few primitives [1] and that's the language, everything else is built out of that.
user=> (macroexpand '(or true false))
(let* [or__3470__auto__ true] (if or__3470__auto__ or__3470__auto__ (clojure.core/or false)))
Also, I don't think that lisp "syntax" is unreadable, on the contrary.
[1] http://clojure.org/special_forms