Is the structure fixed? That is, do you always have CityName at the end of same list of node paths?
If so, just use //CityName in SelectNodes - it will return nodes CityName wherever they are in the document.
Other then that, you use String.Format without formatting (in the second example string.Format("North") in the first
String.Format(long concatenation) in the other example
Try instead:
String.Format("/{0}/{1}/{2}/{3}/DETAILS", "Locations", Session["North"], Session["DHI"], Session["METRO"])
Also note that XML is case sensitive in searches...so check that North shouldn't be NORTH or something like that.