I think it's a neat idea (it really does bug me when I write really short macros that just delegate) but I agree with almkglor that mixing functions and macros isn't good. I'd prefer that defq just always returned a macro.
Don't want to be too critical though. It's a great idea and could definitely make a few programs shorter.