@JosephWright, @DavidCarlisle, it took me some time to realize but there was a simple solution that uses macro as contents of a box:
\def\zBox#1{hello #1}
\newsavebox\zBoxA
\savebox\zBoxA{\zBox{A}} % set box content to macro
\def\zUseBoxA{\usebox\zBoxA}
\newsavebox\zBoxB
\savebox\zBoxB{\zBox{B}} % set box content to macro
\def\zUseBoxB{\usebox\zBoxB}
\noindent\zUseBoxA\newline % still need \noindent (as with \copy and \setbox)
\zUseBoxB
@DavidCarlisle, by the way, you still need \noindent even with \savebox and \usebox.