BTW, I see that there is a new release of the AVR libraries. Should I consider installing these?
I don't know. You haven't said what platform you're running under so I'm assuming Windows.
Unless you can find some specific mention of a bugfix regarding missing definitions for PB0, PB2, etc., then probably not. At this point it's unclear why the definitions are missing for the 328 (or whether it's even a bug). Maybe those definitions have been deprecated and the library you're using needs to be updated. The 328 is almost simply a "bigger" 168, but not completely. A lot of the same kind of problems cropped up when the transition from the ATmega8 to 168 occurred. There were also some differences in the chips and many libraries had to be updated with conditional code that uses different definitions for each chip.
In looking at the header files for the different chips, the ATmega8 and ATmega168 both have PB0-PB7 defined. The ATMega328 header file has the pin definitions named PORTB0-PORTB7. So you could either change the library to use PORTB0 in place of PB0, or add the definitions for PB0-PB7 to the header file in:
For reference the header file used for the 8/168 is iomx8.h
Personally I'd recommend the latter as it will maintain code consistency across the different chips. I suspect it's simply a bug that the pins were renamed