UK list of towns, cities and villages
We’ve not used this resource personally yet, but it claims to be accurate and lists 43,000 towns, cities and villages with location data and is not too expensive:
How UK users select address
The country choice for a United Kingdom online user is usually “United Kingdom”. Whilst occasionally you come across some web sites address sections listing “England”, “Wales”, “Scotland” and “Northern Ireland” instead of “United Kingdom” for the country selection, its quite rare. United Kingdom is much more often the “Country” choice.
From there the next option is County (called “State” in the US), and this will normally be all of the counties spread across the 4 actual countries within the United Kingdom. It would be incredibly unusual to come across a site which asked Country = United Kingdom and then asked Country again for England, Wales, Scotland and Northern Ireland, it just doesn’t happen. The 4 countries within the UK are usually completely omitted and just United Kingdom used.
After county/state selection it is then City / Town / Village as one single choice with all of them listed in a drop down. E.g. after selecting say “Surrey” as the County (State,) “Croydon” would be there as well as say “Blindley Heath”, even though the first is a very large town in Surrey and the latter is a very small village in Surrey. They both are in Surrey and the next level down from County/State.