Is there a difference between PIO and GPIO pins?
GPIO means General Purpose Input/Output.

These pins can be used for general purposes (e.g. LEDs, on/off functionality or anything).

Some GPIO pins can be used for specific functionality, mostly for peripherals, e.g. SPI, UART etc.

I have not seen a pin that is for such specific functionality that cannot be used as a GPIO pin, but I can imagine there are.

Of course there are pins for VCC, GND etc, but those are not I/O pins.

For PIO pins, I think Eugene Sh. gives a good comment. A PIO pin can be programmed and thus can be attached to any peripheral, and also be used as a GPIO pin. So a PIO pin is more versatile than a GPIO pin, since it can be programmed to be connected to any peripheral, while a GPIO pin has a hardwired connection to one or more (but not all) peripherals.

Summary:

Pin Type     Can be attached to                           Type         MCU FPGA
------------ -------------------------------------------- ----------   --- ---
GPIO         I/O, optionally to subset of peripheral(s)   Hardwired     x   x(?)
(non GP)IO   I/O, only to subset of peripheral(s)         Hardwired     ?   ?
PIO          I/O, any peripheral(s)                       Programmable      x
non (GP)IO   VCC, GND, VBat, VIn etc; not used for I/O    Hardwired     x   x