I would like to consider a definition of tensor product in the category of (small, finite, whatever is needed) categories, analogous to the tensor product of vector spaces. I will first rewrite bilinear function in a suitable way that will be easily extendable to categories.
Vector spaces
Consider (finite-dimensional) vector spaces $C$ and $D$. With any choice of base vectors, vectors are determined by coefficients $a_i$ and linear maps by $M_{ij}$. A bilinear map from $C\times D$ (or $C\oplus D$ if you prefer) to $A$ is linear in both arguments. One, more complicated, way to say this is to assign to each element $c$ of $C$, a linear map $M(c)$ from $D$ to $A$, and to each element $d$ of $D$, a linear map $N(d)$ from $C$ to $A$. Since linear maps form vector spaces, we require the corresponding assignments to respect the structure (be linear), so $M_{ij}=\alpha_{ijk}c_k$ and $N_{ij}=\beta_{ijk}d_k$. It is also needed that starting from a pair $(c,d)$ we end up with the same vector in $A$, namely $$(\alpha_{ijk}-\beta_{ikj})c_kd_j=0,$$ so $\alpha_{ijk}=\beta_{ikj}$, and our bilinear map is determined by coefficients $\alpha_{ijk}$, which can be interpreted as a linear map from $C\otimes D$ to $A.$
1) Has a similar thing been done for categories? If yes, where? If not, I give my try below.
Categories
Substitute vector spaces $C$, $D$ and $A$ with categories, linear maps $M:D\rightarrow A$, $N:C\rightarrow A$, $\alpha:C\rightarrow A^D$ and $\beta:D\rightarrow A^C$ with functors. Here $A^X$ denotes category of functors from $X$ to $A$, so $M$ and $N$ are objects in $A^D$ and $A^C$, and $\alpha$ and $\beta$ map arrows to natural transformations. As in the case of vector space, not all pairs $(\alpha,\beta)$ provide a "bifunctorial" map (I am not calling it bifunctor, since it means something else). One should require that for each morphism in $C\times D$ $$(f,g):(c_s,d_s)\rightarrow (c_t,d_t)$$ the induced commuting diagrams in $A$, corresponding to natural transformations, are equal: $$ \require{AMScd} \begin{CD} \alpha(c_s)(d_s) @>{\alpha(c_s)(g)}>> \alpha(c_s)(d_t)\\ @V{\alpha(f)(d_s)}VV @VV{\alpha(f)(d_t)}V \\ \alpha(c_t)(d_s) @>{\alpha(c_t)(g)}>> \alpha(c_t)(d_t) \end{CD} \hspace{1cm}=\hspace{1cm} \begin{CD} \beta(d_s)(c_s) @>{\beta(g)(c_s)}>> \beta(d_t)(c_s)\\ @V{\beta(d_s)(f)}VV @VV{\beta(d_t)(f)}V \\ \beta(d_s)(c_t) @>{\beta(g)(c_t)}>> \beta(d_t)(c_t) \end{CD} $$
In other words $\alpha(x)(y)=\beta(y)(x).$ Each given functor $\alpha$ defines a mapping $\beta$ by changing arguments. I haven't checked it thoroughly, but it seems that $\beta$s obtained in this way are always functors. So, just like in the vector space case, we need only one mapping.
Consider the "bifunctorial" mapping $\gamma:C\times D\rightarrow A$ given by $\gamma((c,d))=\alpha(c)(d)$ for objects, and $\gamma((f,g))=\alpha(c_t)(g)\circ \alpha(f)(d_s)$ for morphisms. As long as I can see, $\gamma$ does not necessarily preserve compositions!
EDIT: Functors $\gamma':C\times D\rightarrow A$ have the following commuting diagram in A: $$ \require{AMScd} \begin{CD} \gamma'(c_s,d_s) @>{\gamma'(1,g)}>> \gamma'(c_s,d_t)\\ @V{\gamma'(f,1)}VV @VV{\gamma'(f,1)}V \\ \gamma'(c_t,d_s) @>{\gamma'(1,g)}>> \gamma'(c_t,d_t) \end{CD}$$
2) Can different $\alpha$s give the same $\gamma$? It is clear that they would have to map objects in the same way, but when one argument is morphism, it is not clear.
3) Is there, and how to construct a category $C\otimes D$ through which $\gamma$ (or $\alpha$) factors uniquely?
Your description for vector spaces generalizes to the notion of a closed monoidal category — a category with an "internal hom" $[Y,Z]$ and a monoidal operation $X \otimes Y$ with the property that there is a bijection
$$ \hom(X \otimes Y, Z) \cong \hom(X, [Y, Z]) $$
that is natural in all three variables. It follows, incidentally, that you also have a natural isomorphism $$ [X \otimes Y, Z] \cong [X, [Y, Z]]$$
A common example is a Cartesian closed category, in which $\otimes$ is the Cartesian product and $[,]$ is the exponential, and you have
$$ \hom(X \times Y, Z) \cong \hom(X, Z^Y) $$
so your tensor product is simply the Cartesian product. Cat is an example of a Cartesian closed category.