Die Frage ist doch warum du mit dieser GUI interagieren musst und was du genau damit tun willst.
Eine Methode wäre von Anfang an alle GUI's und deren Controls global zu erzeugen und je nach Programmzustand sichtbar oder unsichtbar zu machen. Das ist die flexiblste Veriante, da du jederzeit auf alle Controls Zugriff hast.
Eine andere Variante wäre, dass es sich um diese zweite GUI um keine besonders relevante GUI handelt. z.B. nur um einen Einstellungsdialog. Hier kannst du problemlos die GUI temporär in einer extra Funktion jedesmal neu erstellen und die betreffenden Werte die dort hinterlegt oder geändert werden sollen in eine Konfigurationsdatei scheiben bzw. aus dieser lesen.
Aber vielleicht hilfts auch wenn du dein Programm näher beschreibst.