Получился пример, который работает, когда форма открыта как внутренний (Aux) диалог.
Запускается уведомитель, получает контроллер контейнеров, проходит по видам контейнера в поисках нужного поля и его выделяет.
Код:
MODULE TestFocusChange;
   IMPORT Containers, Controls, Views, Dialog;
   VAR
      str1*, str2*: ARRAY 16 OF CHAR;
   PROCEDURE Notifier* (op, from, to: INTEGER);
   VAR c: Containers.Controller; v: Views.View; done: BOOLEAN;
   BEGIN
      IF op = Dialog.changed THEN
         c := Containers.Focus();
         IF c # NIL THEN
            c.GetFirstView(Containers.any, v);
            done := FALSE;
            WHILE (v # NIL) & ~ done DO
               WITH v: Controls.Control DO
                  IF v.prop.link = "TestFocusChange.str2" THEN
                     c.SelectAll(FALSE); (* убрать выделения *)
                     c.SetFocus(v); (* сделать вид фокусным *)
                     done := TRUE
                  END
               ELSE END;
               c.GetNextView(Containers.any, v)
            END
         END
      END 
   END Notifier;
END TestFocusChange.
"StdCmds.OpenAuxDialog('Test/Rsrc/FocusChange.odc','test')"