If the variables and functions you are dealing with are global (ie. defined in the global scope) then you can use window[reloadfunction]
and window[button](i,item)
.
If they're locally scoped, however, you will have to completely restructure your code to have something like a map of functions:
var functions = {
func1: function() {doSomething();},
func2: function() {doSomethingElse();}
};
setTimeout(functions[reloadfunction],180000);