I/O input output pic16f887
When the button isn't being pressed, what state should RD0 read? High or low? Look at the schematic for a minute and think about it.

If you're unsure, that's good. Because the 16F887 is unsure as well. When the button isn't being pressed, RD0 is actually floating. Nothing is driving it up or down. Unfortunately, there is a no "meh" option for digital electronics. The MCU must choose high or low. Absent a driving force on RD0, the pin will act like a tiny antenna and may randomly change state with the local electric field around it. In your case, it sounds like it's sticking high. The electrostatic field around your hand may actually change the pin state if you bring your hand near the MCU.

The solution is to put a pull-down resistor on RD0. Any reasonably large value of resistance will work (4.7k, 10k, and 100k are very common values). This will provide a driving force to 0V when the button isn't being pressed. When the button is pressed the resistor will appear negligible and the pin will see 5V.