Microchip's data sheet for PIC16F88 shows the DC specifications that set some limits on GPIO (input/output) pin voltages and currents (a portion snipped below). The pertinent part is \$V_{OL}, V_{OH}\$ for I/O ports:
[![portion of Microchip 16F88 data sheet][1]][1]
It appears that an I/O pin can sink current (8.5mA) with less stress than it can supply current (1.6mA). These are not limits, but are a single data point within the maximum limits stated elsewhere (Section 18.0 states that maximum current on any one I/O pin shouldn't exceed 25mA).
Sinking-better-than-sourcing is a common trait of GPIO output pins. So you're better off to sink...that means lighting up a LED by pulling current to ground - the LED's anode is attached to the +5V DC supply, and the GPIO pin pulls it ON by switching from logic high to logic low, through a series-connected resistor.
Data sheet section 18.0 shows maximum limits. These are pain-of-death limits. For VDD, VSS, the limit is 200mA. That'd be one very hot PIC!. How could so much current flow? If you tried to light up many LEDS very brightly with all the available GPIO pins, with small-value series resistors (like zero ohms), a great deal of current might try to flow.
A caution regarding GPIO pins. They default to input rather than output. A GPIO pin can float around at any voltage between VDD and VSS. The electric field of a hand waving over the chip can change its voltage. It is not good to have a GPIO pin float near half-way between VDD-VSS. Excess current can flow. An unconnected input pin should be dragged down to VSS or dragged up to VDD. Dragging might be done with a resistor, in case the pin gets set to "output".
[1]: https://i.sstatic.net/hn9Ov.png