As kitz has already said, Netlimiter is one option - from what you are saying you sound like you want something that prioritises certain applications (e.g. voip / web traffic have priority over P2P?)
It depends what you want to do, you may be able to achieve what you want with the applications you are already running?
If for example you are doing some bittorrenting.. most bittorrent clients will allow you to limit the upstream, and downstream, to avoid saturating your line. I use uTorrent, and it seems that the only way not to saturate your upstream is to set the upload limit to about 60% of your total upstream, because of the large numbers of connections that are open and the overhead associated with these too. These are the values I think I have used on various incarnations of ADSL:
Fixed rate ADSL (288kbps upstream) - 20KB/s limit
ADSL Max (448kbps upstream) - 30KB/s limit
Be (1.3Mbps upstream) - 80KB/s limit
Together with limiting the downstream speed, again to about 60% of your download speed, this seems to be pretty effective at letting me browse without really noticing the torrent running in the background. I don't use VoIP so can't tell you how well that manages to cope whilst BitTorrent is running
Doing a little bit of googling I've just found a freeware program called
Traffic Shaper XP which MIGHT do the job. I haven't downloaded it and tried it, so I can't make any guarantees, and I'm not recommending it, just something I found that you might want to have a play with? Like I say, it might do what you want, and equally, it might not.
You could always go the whole hog and either get a router that supports QoS (I have no suggestions for such a router), or set up a spare PC as a router, using something like
SmoothWall which will do QoS, allowing you to set the priority of various protocols as high/medium/low. This would require a dedicated PC to be left running 24/7.