Do country/city IP addresses always stay the same?

Yes, they can change—and there isn’t much central control. IANA dish out IP blocks to regional authorities, who hand them on to ISPs,who distribute them to end users... But the ISPs might cover multiple cities or even countries. You can read a bit about this process here: http://www.iana.org/numbers

So there are no absolute guarantees that the geographical location of a given IP address won’t change, or that an IP address won’t be reassigned.

For this reason, there are companies that specialise in researching and collating information on IP addresses. Probable the most widely known is www.maxmind.com who offer a ppvarious commercial databases, depending on the level of detail you need (they have a free end which just does county level and is infrequently updated). They charge a site license and an optional subscription for ongoing updates.