Most of the older PICs are designed for operation at 5V. The 'normal' parts (such as an 18F2221) may work at voltages below 4.2 V, but they are NOT GUARANTEED to work at all. For guaranteed operation at lower voltages, (such as 3.3V), you need the "LF" part (such as 18LF2221).

http://dl.dropbox.com/u/566712/18F2221_V_Spd.jpg

http://dl.dropbox.com/u/566712/18LF2221_V_Spd.jpg


So, while your device may work at 3.3V, it may not always work. Get the LF part and run it at 10Mhz and you will be fine.

If you want to run the PIC at 5, and your peripheral at 3.3 -

On the signals that come FROM the PIC going TO the peripheral - put a 1K resistor in series.
On the signals that come FROM the peripheral going TO the PIC - Use a 74HCT gate running off 5V between the two devices. I generally use a 74HCT125, because I use it as a data selector at the same time.