At least you should be able to decide if you want PKs fields returned or not. The problem is that all the FIDMappers that PostgisFIDMapperFactory returns have a returnFIDColumnsAsAttributes() that always return false. This is OK with the OIDFidMapper, since you probably have no interest on OIDs, but with other FIDMapper types, chances are that you really need PKs fields.
I have a fixed version of PostgisDataStore (albeit it's not general enough to be used as is) that fixed almost all of the above. Where and how can I submit it???