is there a macro or TW Javascript function to easily create a button
that's an external link?
I assume you know about PrettyLinks:
[[label|url]]
That pretty much renders a special macro obsolete, no?
As for the JavaScripte route:
var place = document.getElementById("mainMenu");
var url = "http://www.google.com";
createTiddlyText(createExternalLink(place, url), url);
HTH.
-- F.