For $cX$,$cY$ and $cZ$ first.
Let $U_Y$ be the 1 qubit unitary such that $U_Y^\dagger X U_Y = Y$ and similarly for $Z$. This can be done because they all diagonalize to the same thing $Z$, so you can find that $U$ as an exercise.
Suppose you did $U_Y$ on the target qubit, then a CNOT and then a $U_Y^\dagger$ on the second qubit.
If the initial state is of the form $|0\rangle | t \rangle$ then you get $| 0 \rangle ( U_Y | t \rangle )$ after the first step. The second step doesn't change anything and then the third step takes you to $| 0 \rangle ( U_Y^\dagger U_Y | t \rangle )$ which is the same as the starting state. So that agrees with what $cY$ should have done on this type of state.
If the initial state is of the form $|1\rangle | t \rangle$ then you get $| 1 \rangle ( U_Y | t \rangle )$ after the first step. The second step does change things this time. You get $| 1 \rangle ( X U_Y | t \rangle )$. The third step then takes you to $| 1 \rangle ( U_Y^\dagger X U_Y | t \rangle )$. But by definition of $U_Y$ this is $| 1 \rangle ( Y | t \rangle )$.So that agrees with what $cY$ should have done on this type of state.
The same applies mutatis munandis with $Z$ replacing $Y$ to make $cZ$.
Secondarily:
Say you have some complicated expression for $U$ but it is written as a product of $U_1 \cdots U_n$ but you know how to make controlled versions of each of the $U_i$. Then you can make $cU$ by $cU_1 \cdots cU_n$. Like $U=XZY$ turning into $cX cZ cY$.
General 2-qubit $cU$:
You can use theorem 5 of this paper to decompose other controlled unitaries $cU$ besides those where there exists a $V$ such that $V^\dagger X V=U$. In those cases you can do the first procedure, but if not, you must do something more.
For 2 qubits with $f(c)$:
Suppose $f(0)=0$, then either $f(1)=1$ in which case you are describing a controlled not or $f(1)=0$ in which case you are describing the identity.
If $f(0)=1$, then either $f(1)=1$ in which case you are describing a $X$ on the target qubit no matter the control. Or $f(1)=0$ in which case you are doing a controlled NOT but after reversing the way the controls go so that $0$ means perform the operation and $1$ means do not. This would be implemented by conjugating by an $X$ on the control qubit.
You should more be thinking of this as building the unitary from the function not the other way around. There are functions $\{0,1\}^c \to \{0,1\}^t$ where $c$ is the number of control qubits and $t$ is the number of target qubits and XOR is replaced by bitwise XOR in your formula. These give unitary matrices as you describe on $(\mathbb{C}^2)^{c+t}$. But there are far more unitaries than functions. So you can't expect to go from unitary to function, only the other way around.