davidz: Shams King is currently working on HAL support in PulseAudio. He's planning to extend our module-combine to automatically combine all available hardware sound cards found with HAL into a single virtual sound sink. That way, if the user plugs in an USB loudspeaker set it will automatically output the same audio as the internal speakers did before. I believe this is the behaviour most non-technical users would expect from a well designed system.
Right now PulseAudio sink names cannot be used to identify the underlying hardware devices, since they are generic names like alsa_output or oss_output2. However, it might be a good idea to use the ALSA device name (i.e. alsa_output_hw_0_0) or even the HAL identifier if it is available. If this dialog uses the normal GStreamer PropertyProbe API to query the available devices (and does not use HAL directly), we should be able to support this easily in gst-pulse (right now we support this interface in GstPulseMixer, but not yet in GstPulseSink).
Marc-Andre, I wonder how the differentiation between "Sound events", "Music and Movies" and "Audio/Video Conferencing" touches the "role"/"class" model of GSmartMix?
Regarding power saving and PulseAudio: First of all, PulseAudio right now is intended to be run per-session, just like esd was. However, there is some incomplete support for running it as system-wide instance.
I think instead of integrating PulseAudio with gnome-power-manager the way you described it is probably a better idea to close the sound device when it is idle regardless if we are in power saving mode or not, and hope that the driver authors fix their stuff to not produce any click or pop sounds when the device is opened or closed. To be honest, all driver/sound card combinations I have access to work properly in this area.
In ALSA you usually open devices in O_RDONLY or O_WRONLY mode (and not in O_RDWR) anyway, so falling back to it is not really necessary.