Deagle, that is a really awesome feature. I doubt that pfSense can do this though since all the matching happens when a connection is first setup, and then applies to the state record, so that the system doesn't need to process any more of the packets. But the layer7 stuff must be able to look at enough of the traffic to try and match the contents and then change the queue, so maybe there is a way.
If you look at pftop, it does track the bytes transferred for each state, so the info is there. So it is probably possible for some sort of daemon to run every so often and to associate a state with a new shaper queue.
I would suggest you ask on the freebsd networking list to see if freebsd supports it, and then you could open a bug/feature request to have the ability added to pfsense.
I've noticed that youtube opens a new connection for each chunk of a movie though, so it would somewhat lessen the impact depending on how big the chunks are.
Josh