В общем как ни думал ни гадал, пришлось вынести переменную (VAR) в глобальную область видимости - как и следовало ожидать всё заработало, но всё же это не совсем то чего я хотел. Всем спасибо за посещение вопроса и да прибудут с вами знания!
var modalwindow = createNewWindow();
function fn() {
modalwindow.show('10',
'<table style="margin: auto" width="100%">' +
'<tr>' +
'<td width="50%">' +
'<input type="button" value="OK" onclick="modalwindow.progress()" width="100%" style="display: inline; border: solid 1px #44AAFF; font-size: 110%">' +
'</td>' +
'<td width="50%">' +
'<input type="button" value="Cancel" onclick="modalwindow.close()" width="100%" style="display: inline; border: solid 1px #44AAFF; font-size: 110%">' +
'</td></tr>' +
'</table>'
);
}
var createNewWindow = function() {
var elm;
...
this.metod1 = function(html) {
...
elm.innerHTML(html);
};
this.metod2 = function() {
};
};