As far as I can tell from Atmel and AVRFreaks, the ATmega88 is the 8k equivalent of the ATmega168, while the ATmega8 is sort of hanging around from "the old days." Has anyone tried using a mega88 in an arduino instead of a Mega8?
The Arduino source code has many #ifdef statements which check for the processor type directly. With the exception of the flash size, I think the 168 setting would be correct for the 88.
The boot loader would be in a new spot, that could be tricky, but if you loaded your sketch with the ICSP then I would predict that 168 sketches would work.
Unless you happen to have a heap of ATmega88s laying about I wouldn't mess with it. In single unit quantities the 88 only saves you $0.30, about 10% of the IC cost, half that if you get to the first quantity break point. And you'll never feel bad about having too much program space.
the 88 only saves you $0.30
You're right; I was looking at a vendor where it looked like the 88 was half the price of of the 8, but looking more carefully that seems to have been some sort of RoHS-introduced oddness for a PARTICULAR mega8 rather than the typical price...