The AVR processor is not specified to run faster than 8 MHz when running at 3.3 volts. Even though it often can operate at 16 MHz at room temperature, technically that's "overclocking". For best reliability, 8 MHz or slower should be used.
Using Arduino, you can change the speed your Teensy runs at using the Tools > CPU Speed menu.
Well, Paul has made these comments:
https://www.pjrc.com/teensy/3volt.html
You can use the on-board crystal. When you select the lower speed from the Tools > CPU Speed menu, it tells the Teensyduino startup code to configure the clock divider so the MCU runs at 8MHz instead of 16MHz. Unfortunately, though, it only divides in powers of two, so 10MHz isn't an option for Teensy 2.0. Your options are basically 16MHz, 8MHz, 4MHz, and 1 MHz. 8 MHz is still plenty fast for most uses though. If the difference between 8MHz and 10MHz is a problem, you should probably be using a Teensy 3.1 anyway (which runs at 3.3V to begin with).
It will not work with an 8 MHz crystal the code as-is, but the code can be modified to make it work with an 8 MHz crystal.
However, there is NO REASON to switch to the 8 MHz crystal.
The maximum CPU speed is limited at lower voltage, but the crystal oscillator supports 16 MHz crystals, even at the lowest voltage. You only need to configure the CPU prescaler to run the CPU slower. A 16 MHz crystal is perfectly fine for lower voltage.