Внутри возвращаемой функции запоминайте значение:
function nds( cost) {
return function() {
var _cost = cost;
var result = _cost * 1.13;
console.log( result.toFixed(2));
}
}
Так возвращаемый экземпляр функции будет содержать в себе переданное значение.
var a = nds(53);
var b = nds(12);
a(); // 59.89
b(); // 13.56
Upd. для общего счётчика придётся завести переменную, видимую из всех функций:
var total = 0;
function nds( cost) {
return function() {
var _cost = cost; // запомнили внутри цену
var result = _cost * 1.13; // добавили НДС
total += result; // добавили к общей сумме
console.log( "result:", result.toFixed(2), "total:", total.toFixed(2));
}
}
var a = nds(53);
var b = nds(12);
a(); // result: 59.89 total: 59.89
b(); // result: 13.56 total: 73.45
a(); // result: 59.89 total: 133.34
a(); // result: 59.89 total: 193.23