I'm asking about the quantifiers such as $\forall, \exists,$ etc. Is it aapropriate to use these concerning categories and objects/morphisms within them? For example, is it common to write this way:
$f$ in $Hom(A,B)$ is a epimorphisms $\Leftrightarrow \forall$ objects $Z \ \forall g_1,g_2$ in $Hom(B,Z) \ \ g_1f = g_2f \Rightarrow g_1 = g_2$ I know it's probably doesn't work for $\in$ if $Hom(X,Y)$ is not a set so I've typed "in" instead of the quantifier. Though, correct me you can actually use $\in$.
Two points.
(1) You don't need "$\in$" to express the claim here. You don't need "in" either! The use of set- or class- or other collection-talk here is in fact superfluous. Just say
That makes perfectly good sense even if there are two many arrows with source $B$ and target $Z$ to be a kosher set, and so $Hom(B,Z)$ is, as they say, a proper class.
(2) But having made the point, we do in fact conventionally allow ourselves to overload notation and write things of the form $x \in C$ even if $C$ is a proper class so that $\in$ can't still express set-membership, and indeed the occurrences need to be translated away. It's convenient (see e.g. Kunen's famed set theory book) even if the really pernickety-minded might feel uncomfortable.