I'm not a PF/ALTQ guy, but I know IPFW/DummyNet and it can do essentially what you're after, scheduling priority by rate usage.
A very simple example (as I don't have any details of how your router is setup):
ipfw pipe 1 bw 300Kbit/s
ipfw sched 1 config pipe 1 mask src-ip 0xffffffff
ipfw queue 1 config sched 1
ipfw add 10 queue 1 ip from 192.168.1.0/24 to any
I would not recommend using these rules unaltered....
They simply take all traffic coming from 192.168.1.0, run it through Queue 1.
Queue 1 is associated with Schedule 1
Schedule 1 is using FWQ+ to distribute bandwidth (when there isn't enough available) based on least usage gets highest priority. Flows are grouped by source IP address (I'm assuming you want all the traffic from a particular IP treated the same).
The Schedule is constrained by the Pipe, which tells it that it's got 300Kbps to work with (otherwise it would assume it has the whole speed of the Ethernet interface, which your Internet connection probably isn't that fast). You would change the 300Kbps to whatever your actual connection is.
A quick explanation of what this is doing: This will build a packet queue, by default 50 packets deep. Let's say that you have two users on your network, one is BitTorrenting files out over the connection, the other is just checking their e-mail; neither are constraining their usage in any way. The IP the BitTorrent Client is sending from will generate enough traffic to fill the queue and saturate the Internet connection. When the person checking their e-mail sends something, it will get placed first in line in the queue (and would thus be sent out as quickly as possible) because they have not been sending data. If the situation were two BT Clients, they would each get half of the connection as they'd both have the queue constantly saturated.
DummyNet allows for very complicated traffic shaping with the right options, you just have to be very specific as to what you're trying to accomplish. Also keep in mind that a router can only control what it sends, it can never control what is received (because that is controlled by whatever sent it). Think of if like your postal mailbox, the mailman determines what you receive, you determine what you send out through it.