The atmega328 will run up to about 20Mhz with a crystal oscillator, depending on version and voltages. You need to read the
processor specification for the exact parameters.
It will not run at 100MHz.
The arduino board already uses an external crystal oscillator. To have a standalone atmega328 with an external oscillator you need
to have a 16Mhz crystal, and 2 22pF capacitors. Look at the microprocessor part of this forum for more details.
You also need to program the fuse bits correctly - if you have an in-circuit programmer this is easy to do, again in the forums, loading a standard bootloader will set the fuse bits correctly on a brand new processor chip.
If you buy a chip with a bootloader already burnt it will be set for an external crystal oscillator already.