I wish I had good news for you, but here is the plain, if unpalatable truth.
D-link is a good brand, and the 604 is a typical home router which means:
It allows multiple machines to share and Internet connection
It has a DHCP server to assign network IP addresses on the LAN
It has a built in Ethernet switch
All at a competitive price
What it does not have (and neither do it's direct competitors) -
The processor, memory, or firmware that allows bandwidth shaping and the prioritizing of traffic.
In order to get those kind of tools, you have to spend the money on the hardware. Below is a link to a D-link gaming router. It is quite a bit more expensive than your current router, but that's because it has some of the tools am talking about. It's no Cisco industrial strength router/ managed switch that starts at $750 and goes up fast, But it is a lot better than the first come, foirst served and the rest of you are hosed system that you have now.
The router
http://www.dlink.com/products/?pid=371
A review
http://www.planetamd64.com/index.php?showtopic=13118+
The second part of your question
There is no easy way to monitor all network traffic and pick out who is hogging bandwidth. But here is the cheapest way I know of:
Warning - Geek content here
Drag an old computer out of the closet
If it only has one Ethernet Card, add a second card
Load a Linux Distro such as Ubuntu or OpenSuse
Set up a communications software bridge between Eth0 and Eth1
Connect the computer between your router and your modem
Using the program manager built into the OS, download and install WireShark
Using Wireshark, you can monitor all traffic in and out of Eth0
By tweaking the filters on Wireshark, you can now identify traffic by IP address and see who is using how much bandwidth.
Have fun