Running a Microcontroller with Selectable Voltage (3.3V/5V)
No. An MCU is operational over a specified range no matter at which voltage it has been programmed. An unprogrammed cell is at VCC, programmed at ground, you won't be changing much here by changing VCC :-).
3.3V will be counted as 1 just fine at speeds the MCU can operate. The signals that go other way could pose a problem - check the datasheet to see if signal levels higher than VCC are allowed and if yes on which pins (mixed A/D pins are often weak).