Hi Paulette--
Yes, this is a very common pattern. You attach a function, by convention usually named _notify(), to the window, and that function handles most or all of the dialog's interaction. This idiom is used throughout the standard ACL code used in Arbortext Editor. To see an example of this, look at the _notify() function in $ARBORTEXT/packages/main/_finddlg.acl. You can see how it branches based on the event type and dialog item (the activated control).
If you grep "_notify" in the $ARBORTEXT/packages directory, you will find many instances of this pattern, which should give you a pretty good idea how to apply it to your custom dialog.
--Clay