c.l.sでandはsyntaxだからapplyには渡せないね、ってのを見ました。
たしかこのスレか前スレあたりで似た話があったのを思い出したんだけど
(そのときの結論はたしかguileだけ純インタプリタなので変態的に動作する)、
syntaxをfirst-class objectにしておいて、実行時にsyntaxがapplyされると
evalが走るようにすればどうでしょうね。
もちろん引数は先に評価されちゃうわけだけど、それは覚悟の上ということで。

(apply and (list #t #f 何かの式))
とすると、「何かの式」は評価されてしまうが、
(eval (cons and (#t #f 「何かの式」の値)))
と同義な動作をするというようにするのです。
goshだとsyntaxをapplicable objectにすればできると思うんですけど。
(define-method object-apply ((syntax <syntax>) . args)
(eval (cons syntax args) (interaction-environment)))
とかすればできるのかしら。でもやってみると無限ループに入ってしまいました。
object-applyが優先されちゃうんですかね。