I should have read the whole thing before responding. To implement that well you need a framework that allows macros to be aware of each other when they should interact. When it walks the interior code it could look for handlers in a table. When defining new macros, add appropriate handlers to the table.
>>6Sometimes you can't escape complexity. But at least writing that macro in lisp is possible.