Show own shortcode data on each page

Best way to achieve the desired functionality is to use post_meta / custom field.

add_shortcode ('cities', 'show_cities');
function show_cities(){
   /* 
      Create a custom field 'city' to save city name in page editor
   */

   $city = get_post_meta( get_the_id(), 'city', true );

   return $city;
}

Using an array can also do the work as under:

add_shortcode ('cities', 'show_cities');
function show_cities(){
   /* 
      Create an array using Page_id as index, e.g.
      $cities [ 'page_id' ] = "City Name";
   */

   $cities [ 7 ] = "New York";
   $cities [ 10 ] = "Alabama";

   return $cities [ get_the_id() ];
}