John, several folks have already suggested nfsstats -h. But you already know what clients are the problem. Here is what I suggest:
On each client, use lsof to find the processes with open NFS files. This reports on NFS files owned by user quentin, and excludes program binaries and directories:
lsof -N -a -u quentin | grep -vE 'txt|cwd'
For each process, stop it with `kill -STOP <pid>' If the load decreases you may have found your culprit.
Did the contents of the NFS traffic offer any hints? i.e. file ownership, file contents, etc?
Here's another method. I've used it on standalone machines with local disk, but it should work anyway.
First get a copy of the Adrian Cockcroft "porsche" book, Sun Performance and Tuning, Volume 2. Go to page 189. I imagine this stuff is in a Sunworld online paper, but I don't know where.
That page details how to use 'prex' on a Solaris 2.x system to record all I/O through the system for a few seconds. You record it to a buffer, dump the buffer, then extract the info. I then whipped up a perl program to read the extracted info and sort it by PID.
I'll usually get a nice histogram with one or two processes being I/O hogs and the rest much lower. I then know where to look. :-)
This is a general process that would work with any I/O, but it could be filtered to see only NFS or local disks, I'm sure.
I don't know of a more general solution, or one for other than Solaris machines.