Возможно ли передать переменную таким образом?
Может, завести доп. функцию для мышиного события? 
Основная логика, принимающая аргументом var1 — в одной функции.
События нажатия вызывает другую функцию, изнутри которой уже вызывать основную с известным аргументом.
let var1 = 1;

// основная логика — тут.
function logic(value) {
  alert(value);
}

// по мышиному событию
function mouseHandler(event) {
  logic(var1);
}

// напрямую
logic(var1);
Можно использовать через замыкание, но только в том случае если и объявление переменной и функции находятся в одной области.
const var1 = 10'

function func() {
         alert(var1); // тут будет выведено 10
}

или, как вариант, через привязку контекста
const func  = function(var1, var2,  var3) {
    console.log(var1); // 'значение var1'
}.bind(null, 'значение var1');
в этом случае значение 
    "this" будет равен "null"
    "var1" всегда будет равно "значение var1"
а остальные значения будут равны тому что вы передадите в метод "func"

то есть  "значение var1" будет передаваться, всегда, впереди любых аргументов

Вот тут более подробно про это рассказано https://learn.javascript.ru/bind