So, if I understand the concept of "k" correctly, this would have the sense of "this town is near in the direction of Moscow"? But isn't every town near Moscow possibly in its direction? In other words, what is the difference between "этот город близко Москвы" and "этот город близко к Москве"?
You cannot use «близко Москвы», it is as simple as that. «Близко от» and «близко к» will work (they use the Genitive and the Dative respectively, just as от and к normally would).
Think of «близко» as "close". You can be close but you cannot be "close Moscow"—English uses "close to" in this case.
Ok. I have the same question as Jenny: what is the difference between близко+к+Dat. and близко+от+Gen. and when should you use one over the other? Could you say «Этот голод близко от Москвы»? In that case, what difference meaning would it convey compared to «Этот город близко к Москве»?
It doesn't (and even in English the formal criteria are not set in stone). In English translation the word "city" usually applies to urban settlements of sufficiently large population, like over 100–150 thousand. Which makes one think how a town is different from a city: in some countries a settlement with way fewer people might be classified as a city (at least, in English).
On the other hand, Russian has two words for a village, деревня and село—which are not clearly defined either (село used to mean, technically, a larger settlement).
Thanks. Out of curiosity, what is the origin of the non-standard plurals in Russian? Are they surviving archaisms from the grammar of earlier eras (as is the case with many English non-standard plural forms)? Or do they arise from when foreign words have been imported into Russian?
I think, in Old Russian those words belonged to another declension. Then the number of declensions has decreased and they became irregular.
Another version is that "город" has something to do with the Old Church Slavonic "градъ" which was "града" in dual, according to Wiktionary (but I don't know if the final "а" was stressed).