Ok here are answers.

1. PORTB.7 is connected via 10K resistor to MPSA42 transistor, which drives buzzer.
2. I tried replacing it with led, different buzzer, no difference. Sometimes it works, sometimes it does not.
3. I've used another PIC16F887 - no change.
4. Of course I've tried disconnecting pickit 3 - no difference.
5. This problem ONLY occurs with PORTB.7 as output and PORTA.0 as input. Say if I don't query PORTA.0 for input and just make PORTB.7 high/low from the code, it works fine.
6. All remaining ports (except PORTA 1 & 2 which are connected to DS3231) are connected via 10K resistors to MPSA42 transistors, which drive nixie tube cathodes and work fine.
7. MCLR, WDT and others are disabled, as you can see from above config.