I am trying to create a worldwide store locator using the following example:

http://storelocator.googlecode.com/git/index.html - see example 2 titled "dynamic".

My aim is to upload a CSV file for each country that I need to present a store locator (I understand GME converts the CSV's into Vector Tables), so that we can periodically update the store locations for a particular country, without having to replace a large vector table holding all of our store locations. My aim is to create a layer per country and assign a CSV/vector table to that layer. However I am having problems with this approach. My problem is twofold, on top of the fact that I have limited experience with JSONP:

1) Within the GME web interface although I can upload a CSV which is processed into vector table assigned to a particular layer (which becomes a Vector Layer - which can be searched by the store locator to find store locations). I can then run queries so that the store locator returns results as expected. If I try to add a second layer, I don't have an option to specify that layer as being a vector layer, only image or terrain is available to choose. If I upload a new CSV I can't assign it to another layer.

2) Within the code that I have taken as an example, the file queries one specified vector table. If I were able to create multiple layers and assign a vector table to each of them, how could the script be modified to query an array of table rather than just one table?

Code:
function MedicareDataSource() {
}

MedicareDataSource.prototype.getStores = function(bounds, features, callback) {
  var that = this;
  var center = bounds.getCenter();
  var audioFeature = this.FEATURES_.getById('Audio-YES');
  var wheelchairFeature = this.FEATURES_.getById('Wheelchair-YES');

  var where = '(ST_INTERSECTS(geometry, ' + this.boundsToWkt_(bounds) + ')' +
      ' OR ST_DISTANCE(geometry, ' + this.latLngToWkt_(center) + ') < 20000)';

  if (features.contains(audioFeature)) {
    where += " AND Audio='YES'";
  }
  if (features.contains(wheelchairFeature)) {
    where += " AND Wheelchair='YES'";
  }
  //VARIABLE TO QUERY ONE SPECIFIC TABLE
  var tableId = '12421761926155747447-06672618218968397709';
  var url = 'https://www.googleapis.com/mapsengine/v1/tables/' + tableId +
      '/features?callback=?';

  $.getJSON(url, {
    key: 'AIzaSyAtunhRg0VTElV-P7n4Agpm9tYlABQDCAM',
    where: where,
    version: 'published',
    maxResults: 300
  }, function(resp) {
    var stores = that.parse_(resp);
    that.sortByDistance_(center, stores);
    callback(stores);
  });
};
It has crossed my mind that I am going about this in the wrong way, but the method I am using satisfies the requirements of the project manager, however if there is a more practical way to achieve the desired results, I am definitely open to advice.