Does it have to be an MDX query? If not, try building a dynamic sql statement by accessing the table column names in the syscolumns table. If your column names are consistent for the different stores, you can really set your output however you want to.

First, get the names of columns you want to get data for:
select c.[name] from syscolumns c, sysobjects o where c.id = o.id
and o.type = 'U' and o.[name] = '<tablename>'

Then you can re-dimension your data with a loop into a temp table. Sorry, I didn't have time to write this part out, but maybe this makes sense.