for finding their ISP and a contact - you can visit
http://www.arin.net/whois/index.html and it'll point you to the other whois databases if it's not covered in Arin. (the Asia Pacific Apnic whois; the Korea network whois, etc). You can visit SpamCop and put in your ip# to find out their ISP; or get a program like SmartWhoIs to do most of the querying of the Whois databases for you.
I've written about 5,000 complaints over the last year and a half; mostly asking ISPs to get their clients cleaned from Nimda. I found a program called ClearIce that interfaces with my personal firewall BlackIce - and made the generation of those letters so much easier. (push a button and you have the text of the message to send to the ISP, push another and it'll open up SpamCop or your other configured Whois searcher). If you're going to do a lot of reporting, you might look for something similar. (I remember seeing his ClearZone for ZoneAlarm, and a version for the WinXP firewall, as well)
If you're on dialup, (if not, find a machine that is) open a dos window and type in "Tracert (ip#)" (substitute the perp's ip#) and it'll give you information on each jump between you and the perp's IP#. disconnect the dialup connection so you can't be harassed back; and write down the info from Tracert. The last few ip#s should give you information on who his ISP is, and who his ISP's ISP is..
You can then feed those ip#s into Arin to find others to contact, if his isp doesn't help.