Pin numbering of Atmega 168
If you are using Arduino, physical pin 23 is mapped to Arduino analog pin 0. "Plain" pin numbers (such as the ones in your example of LiquidCrystal initialization) refer to digital pins in Arduino-speak. To initialize the LiquidCrystal library to use analog pins, call the initialization code with the analog pin name, which begins with A LiquidCrystal lcd(A0, ...). (See here for details). Since the LiquidCrystal library uses digitalWrite() (which is aware of analog pin names) internally, this will not present a problem.

Incidentally, the pin mapping between Arduino and ATmega168 is here