You can use RobotC's I2C Test function to test I2C . It is a very good tool. And my 18F2620's I2C problem is the setting of the I2C address. The PIC 18F seems don't work correctly use address under 0x10. So I suggest use over 0x20's address. I use PicBasic Pro's I2C Slave sample code.
I use following tools. 1.MELab LAB-X2 Board 2.PICBasicPro also from MELab 3.I2C Slave (Polling Mode Sample Code) Link Seach I2C Slave , you will found the code. 4.Make a Board to hold the I2C Components and the NXT Connector Wire 5.I use the NXT's pre-install "VIEW" program to view the data result.
PS.Will try PIC18 and use Interrupt. PS.The sample code won't work on 18F2620.