Here is an idea, an option to build custom “neighborhood” by selecting existing roads that make up these areas. A road selector would probably be the trickiest part here. You would want to make it easy to add roads. Partial roads would be tricky. Then give the user an option to save and name the new neighborhood.
Likewise build a similar mechanism for building custom “neighborhood” from existing cities. Let the user select 2 or more cities to define this new hood and give it a name. For example I would create “Capital District, New York” which includes the greater Albany, NY area of about 20-30ish cities/towns.
Let the users see the progress on neighborhoods like they do on cities currently. This allows users to build neighborhoods of any size and shape that fits their needs. Could also be used in challenges.