wpa supplicant has options to wait for the device (wifi0) to appear, and I imagine you can dynamically add new entries to wpa_supplicant.conf and "hup" it (kill -1 $PID_OF_WPASUPP).
the way I think wireless tools in suse works is to set a blank ssid, get the card to scan, identify whether wep/wpa or none and ask for a passphrase, and then it creates a specific /var/run/wpa_supplicant.conf.wlan0 or similar and starts off wpasupp with that as config file
I haven't tried the wpa gui applet in this thread, I am already happy to hack the wlan-ng.conf and /etc/wpa~~ file