I am having almost the same exact problem. I live in Portland Oregon, and if I select Portland in the Time and Date Preferences, the menu bar clock shows the GMT time, not local time. If I select any other time zone, everything works fine (for that time zone).
I checked all the file permissions and ownership of /etc/localtime and the files in /usr/share/zoneinfo, and everything there was ok, but the problem persists. Interestingly, there are almost no files for individual US cities, just US/Pacific. However, files do exist for America/Vancouver, America/Phoenix, and even America/Los_Angeles.
My workaround was to select Vancouver as my time zone city, and everything now works fine. Los Angeles seems to work as well. But Portland, San Francisco, and other west coast cities display GMT. It looks like any selection in /usr/share/zoneinfo/America works, while any other Pacific time city (which uses /usr/share/zoneinfo/US/Pacific) doesn't work.
I also own a more recent PowerBook, and it works fine when Portland is selected. It is interesting to see that other people have the same problem.
This is definitely some kind of bug that should be fixed by Apple.