It is same oled I used. First of all, sending 00 and FF for seeing empty and full screen won't work try 00 and 0F. I think ssd1306 outputs are not able to drive all leds at same time. Secondly, your mcu setup is in a mess, you are setting trises and adcons 2 times and differently. Plus, you should set portc.4 and 5 as outputs since PIC is master here, you are setting them inputs in these codes. Both your RESET and INIT subroutines are actually INIT routunies, Sending wrong commands may interrupt oled's working, keep them simple and use only 1 INIT routine(you can use same routine as reset) You may use these codes as init.
Code:
'=========================lcd initialization====================================
INIT:
I2CWrite SDA,SCL,I2CDevice,[DC,$AE]'Display Off
pause 10
I2CWrite SDA,SCL,I2CDevice,[DC,$20,$10]' Page adressing mode
I2CWrite SDA,SCL,I2CDevice,[DC,$D3,$00]' Set offset to 0
I2CWrite SDA,SCL,I2CDevice,[DC,$40]' Set display start line 0
I2CWrite SDA,SCL,I2CDevice,[DC,$81,$FF]' Set contrast to full
I2CWrite SDA,SCL,I2CDevice,[DC,$A4]' display on continue 
I2CWrite SDA,SCL,I2CDevice,[DC,$A6]' $A6=NORMAL MODE;$A7=INVERSE MODE
I2CWrite SDA,SCL,I2CDevice,[DC,$A1]' set column 127 as start
i2cwrite sda,scl,I2CDevice,[DC,$C8]'Flip display vertically ****
'above 2 lines for arranging screen direction, deleting them will
'turn the display direction 180 degree
I2CWrite SDA,SCL,I2CDevice,[DC,$AF]'Display On
pause 10
'===============================================================================
You don't need to send control commands in your main routine unless you want to really control the screen, delete them. Put some delay after sending 00 / 0f to screen,

Aaannnd last of all, before entering my comment, I checked 16f870's datasheet for SDA SCL pins but I couldn't see I2C support in device specs. I don't know if you can use I2CWrite command with that model.