This is not possible. Because..
child blocks which are included inside
head block will get only rendered after rendering/including js and css which are added in
head block, irrespective of the point of inclusion in the layout update xml.
head block stands for
Mage_Page_Block_Html_Head and by default it uses
page/html/head.phtml file. Inside that file, you can see this
<?php echo $this->getCssJsHtml() ?>
<?php echo $this->getChildHtml() ?>
From the above code, it is obvious that, blocks included in
head section will get rendered "later".
So you can probably go with below method. It may work in your case.
You need to add
menu_default.js inside the phtml file itself.
That is your layout update xml should only contain the phtml file.
<block type="fabric_tool/tool" name="js" template="fabric/tool/global.phtml"/>
Here you need to make sure the above
js block type is actually valid and does define inside magento block section.
Next update your
global.phtml file with this content.
var BASE_URL='<?php echo Mage::getBaseUrl();?>';
BASE_URL is now defined before
menu_default.js and hence you can get the value inside that file.