To answer your 1st question, my preference is to run an EA on as many markets as possible that fit my profit/performance criteria. Since an EA is something we have to invest time in (which you can put a $ figure on) it can be likened to say the R&D investment that goes into the development of a new drug - as drug companies do why would you not want to sell that drug in as many countries and for as many conditions as possible to sprea the cost of that investment? The more specific the model is, the better the average return/trade should be (imo), because the investment in your time has to be re-couped from only a few markets. Drug companies would do the same - some drugs which are very effective but only applicable to some niche conditions will be very expensive - because they must amortise probably about the same R&D investment cost as a broader drug across less sales.
In answer to your 2nd question, imo one way of determiing optimisation vs over-optimisation is does whatever variable you are optimising make fundamental sense, or are you just using the best value obtained from the optimiser's matrix of results without understanding why that value is the best (or different for different markets). The best example I can give is using Time of Day as a variable (to set a valid operating window) for models operating on small timeframes. So in this example, I would expect that Australasian pairs might have an earlier time window (for example the Asian & Euro session) than non-Asian pairs (which might perfom better during the Euro & US sessions). This distinction makes sense logically and so if an EA performs differently for Asian and non-Asian time windows then imo that's a reasonable optimisation to mak (after all, why keep trading an Asian pair overnight if there is little liquidity in that pair during those times, and as a result the model tends to lose money during those hours?).