Process Explorer, part of the Sysinternals suite, does everything you want.
- Alter priority levels simply by right-clicking on the process and selecting a priority level.
- Suspend/resume processes by right-clicking, and selecting suspend/resume.
- See what the process does/is by looking at the columns in the program next to the processes. If that doesn't work, right-click and select Search Online, which will search for the program in Google.
Identify what program is using a specific file by hitting Ctrl + F, to bring up this box:

Then simply type in what file you want to see what process is using, and after it searches, you'll see something like this, with the process name, PID, name, and other data:

- See the read/write information, either by right-clicking the process and selecting properties, or adding an "IO" category to the view. To my knowledge you can't see exact read/write speeds.
It's a little old, but it still runs well and has a good number of features. Here's what it looks like in normal use:
