I2C Implementation on PIC error
while ((SSPCON2 &amp;amp; 0x1F ) || ( SSPSTAT &amp;amp; 0x04 ) );


That is a website (HTML encoding) mistake and will never work, as it is invalid "C".  That line should read:

while ((SSPCON2 &amp; 0x1F ) || ( SSPSTAT &amp; 0x04 ) );

I can't speak to the correctness of the code overall on that webpage you quoted, but you will find many webpages discussing code, which includes the corrected line that I have given.