What is the difference between Vio and Vcc in an electronic circuit?
Vcc is always the main supply.  It is also sometimes called Vdd.  The "cc" dates back to when logic chips were made of bipolar transistors; the 'c' is for collector.  The "dd" is newer, and refers to the drain pin of a FET.

Vio is simply the power pin for the I/O leads of a chip (when the I/O circuitry is powered separately from the main chip power; this is usually not the case).  Separate power supply inputs are often used with transceiver chips that must interface with other circuitry that may have different supply voltages than what is used to power the chip.

An example are the FTDI chips used to interface USB to UART signal levels such as the FT232_BL.

For example, an IC may be powered off of 5v (Vcc), but the I/O lines going to another circuit may run at a different voltage, say 3.3v (Vio).  However in other cases, the Vio for the chip voltage may be the same as Vcc, namely 5v.  Usually, Vio can not exceed Vcc.
logic 
It is the Vio voltage that determines the thresholds for 1 and 0 for the chip, for example:

high level input: 0.67*Vio to Vio
low level input:  0 to 0.33*Vio


If a chip doesn't have a separate Vio supply (which is usually the case), then these thresholds would be expressed in terms of Vcc.