I think that descending in size: 1. City (has a cathedral, many thousands inhabitants) = ciudad 2.Town (thousands inhabitants) = villa, pueblo 3. Village = pueblo pequeño, poblado, población, aldea [the above contain neighborhoods= barrios, blocks= manzanas] 4. Hamlet = ranchería, comunidad 5. Ranch = hacienda, rancho
The reason for wanting to say "grocery store" rather than "supermarket" is that in some regions the word supermarket is almost never used. While the term supermarket is understood, using it in a sentence feels awkward and does not reflect actual everyday speech. Instead, the term grocery store is used even when a store carries a variety of other items.
That would have been “la ciudad.” https://dictionary.reverso.net/english-spanish/City
Pueblo can also be a small town. https://dictionary.reverso.net/spanish-english/Pueblo