con respecto al pin RB3 en el datasheet se encuentra la respuesta a tu problema.
Note 1: The High Voltage Programming mode is
always available, regardless of the state
of the LVP bit, by applying VIHH to the
MCLR pin.
2: While in Low Voltage ICSP mode, the
RB3 pin can no longer be used as a general
purpose I/O pin.
3: When using low voltage ICSP programming
(LVP) and the pull-ups on PORTB
are enabled, bit 3 in the TRISB register
must be cleared to disable the pull-up on
RB3 and ensure the proper operation of
the device.
4: RB3 should not be allowed to float if LVP
is enabled. An external pull-down device
should be used to default the device to
normal operating mode. If RB3 floats
high, the PIC16F87X device will enter
Programming mode.
5: LVP mode is enabled by default on all
devices shipped from Microchip. It can be
disabled by clearing the LVP bit in the
CONFIG register.
6: Disabling LVP will provide maximum compatibility
to other PIC16CXXX devices.
Con respecto a la memoria, no te puedo ayudar. Lo que si te puedo decir es que tienen un número limitado de escrituras, luego de la cual dejan de dar valores correctos. y si tu variable la guardas continuamente, vas a dañar la eeprom del pic y luego va a dejar de funcionar.