Given the variety of things you want to do, possibly this may turn out to be a more complex project with multiple approaches. There are several things you may want to research and/or consider.
For starters, it may help us to know how you have created the material currently in use (if you want to use it as a starting point and not replace it completely.) A screenshot of the Materials Lab would be helpful.
If you are looking to completely replace your material, the first thing I would look at would be something that changes the materials based on altitude (look at one of the existing materials as a starting point.) That would allow you to have different colors representing the coastal areas, flat lands, cities, forests, and mountain regains simply based on altitude, so you could create it all with a single terrain, perhaps with the coastal areas, flat lands, and trails sharing the same lowest part of the material, forests in the middle, and mountains at the top.
Another option is to have multiple overlapping terrains, perhaps one for the coastlines, one for the trails, and one for the forests and mountains. The advantage to this would be allowing the use of different materials for various parts of the terrain, so you could keep your existing material but draw dark lines in the Terrain Editor so the lower material would show through.
In either case, I would suggest making the cities a different material on a different object rather than trying to get it as part of the terrain material, which might be very difficult. Either make a second terrain or just apply the city material to flattened stones which can be easily (re)positioned at the appropriate places.