I'm using Tomato right now, and the QoS implementation does now allow you to set classifications based on SSID or Wireless vs Wired - it allows classification by specific IP or MAC, but that would mean tweaking the classifications every time a new device shows up. That's not a practical solution. Additionally, I don't see a way to enable multiple SSIDs using Tomato.
I used to use DD-WRT, and I do remember being able to configure multiple SSIDs on a single router, some with encryption and some without. So if DD-WRT allows configuring QoS based on which SSID a user is connected to, that would certainly be a good solution. I just don't remember their QoS all that well.