Trueクラス、Falseクラスに
oProc oBool :ifTrue
oProc oBool :ifFalse
というメソッドが既に存在していれば、

:m :if ( oBool oProcT -- )
  self -rot over
  :ifTrue
  :ifFalse
;m

こんな感じで良いのではないでしょうか?
-rot ( a b c -- c a b )
over ( a b -- a b a )
というスタック操作ワードを使用していますが。