Can I swap a 328 for a 168 on a Duemilanove?

You can replace a 328P with a 168 (and vice-versa).

If you buy 168 chips without bootloaders to save money you should burn the "Arduino Diecimila or Duemilanove w/ ATmega168" bootloader on it.