Personally, from a GIS perspective I think it makes way more sense to use the plural form as the feature class/table is a collection of objects. However, for database developers it often makes more sense to use the singular version - for example:
Singular:
SELECT City.Name FROM City WHERE City.ID = 42
Plural:
SELECT Cities.Name FROM Cities WHERE Cities.ID = 42
In this context the singular table name makes more sense to me. However, as you correctly point out in most cases this detail is totally hidden from the end user. Also, most modern development uses Object Relational Mapping (ORM) that abstracts away the raw SQL code and would let you have a table named Cities but work with properties such as City.Name for your objects.
Out of interest, Microsoft's Entity Framework creates plural table names by default.
Either way at least your agency is developing a single standard.