Все глобальные переменные - это свойства объекта window. Что мешает из методов обращаться к ним как window['varName']? А в качестве параметра можно передавать имя нужной глобальной переменно строкой.
Примерно так:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<script>
function obj(init)
{
this.data = init.data;
}
obj.prototype.f1 = function(d)
{
window[this.data] = d;
}
var var1='первоначальное значение',
o1 = new obj({ data: 'var1' }),
o2 = new obj({ data: 'var1' });
o1.f1('первый');
alert(var1);
o2.f1('второй');
alert(var1);
</script>
<body>
</body>
</html>