I finally figured out how to make my '{' word work the they I wanted it to. Here is my last update on this word:
: { copyWordName postpone currentWordName begin parse-word dup 0> while 2dup drop " }" comp 0= if exit then 2dup drop " ;" comp 0= if false useTopStackValue ! else currentWordAddr @ currentWordLen @ loadLocalVariable then repeat ; immediate