I've done this - pulled the 168 from an arduino, programmed it with the USBtinyISP. You'll need some form of target board for the USBtiny ISP. I used one of these from Evil Mad Scientist Labs, along with a ZIF socket from Sparkfun. The actual circuit needed to program them is simple enough that you can build it on a protoboard without much trouble. EMSL also has a handy article on just what that circuit needs to be so you can DIY.
In order for a target board to work, it needs to be set up with at least an approximation of how the chip is already fused. That means having the right amount of power (if the brownout detection circuit is enabled) and having an oscillator if the chip is set to use an external one (AFAIK the chip will ignore an external oscillator if not fused to use it). You either need to first set the fuses to use the internal oscillator before removing from the Arduino or put an oscillator on your target board. I don't think the Arduino comes with brownout detect enabled, so you're probably safe on that score. I'd suggest just using the jumper on the USBtiny to supply power to the target board, rather than bothering with an external power supply.
I can't recommend using the Arduino board as the programmer target because it has a normal socket instead of a ZIF socket. I find that I'm much less likely to mangle the pins on my MCU when I use a ZIF socket. Going in and out of a breadboard is bad enough. Sparkfun seems to have the cheapest prices on ZIF sockets, if you decide to go that route.
Since you already have an ISP programmer, you can save a little money on your 328 chip and buy one without the Arduino bootloader. Just use the Arduino software to burn the appropriate bootloader to it once you've got it installed.