We've used page level rules to restrict where the mbox.js loads and use a top of page sequential javascript as you suggested. Since rules seem to fire in reverse alphabetically order, we named ours starting with ZZZ to ensure if would fire before any of our other top of page rules. We also used a data element to control which pages this rule fired on (using either URL patterns or data layer values) though you could also use the page conditions or custom condition.
I'm not 100% sure on the MCID question but would think the answer is yes.
To create the mboxes, we created other top of page rules and dropped in 3rd party sequential HTML (as the Target Tool isn't being used).
<div class="mboxDefault"> </div>
<script type="text/javascript">
mboxCreate("name of your mbox","param1=xxx", "param2=yyy");
</script>
We don't have Target automatically create global mboxes, so things may differ a bit in that situation.