There are two trivial senses in which the answer is "yes", you can always reduce it to binary functions.
One of them is the pairing operator -- the function that takes any two objects and returns the ordered pair containing them. So, for example, given any function $f$ of four variables, we can construct a new function $g$ (of 1 variable of type "ordered pair of ordered pairs of objects") by
$$ g( ((a,b), (c, d)) ) = f(a, b, c, d) $$
It might be instructive to see this restated in terms of an ordered-pair variable. If $x$ is an ordered pair, then the function $L(x)$ is the left coordinate, and $R(x)$ is the right coordinate. Then, $g$ is defined by
$$ g(x) = f(L(L(x)), R(L(x)), L(R(x)), R(R(x)) $$
(with a lot of pain, one could write this explicitly as composition of functions, but it is painful. We use the above notations for a reason!)
Dually, there is the transpose operator. Again, if $f$ is a function of four variables, then I can define a new function $h$ that is a function of one variable, whose values are themselves functions of 3 variables, by
$$ h(a)(b, c, d) = f(a, b, c, d)$$
($h(a)$ is a function, so it makes sense to evaluate it, as above. The above defines $h(a)$ pointwise, and thus $h$ pointwise)
This can be iterated: you can have a function of one variable whose values are of type "Function of one variable whose values are of type {Function of two variables}", defined by:
$$ k(a)(b)(c,d) = f(a, b, c, d)$$