The answer, just as for so many questions which begin "in an arbitrary category, can I choose...", is that you need a very strong form of the axiom of choice to make things work.
First, note that not every category is well-powered. That is, there is no reason that we should be able to index the collection of subobjects of objects in a given category with any set, so if you're pedantic about wanting a function which does that indexing, you could have problems.
Even if you insist that your category be well-powered (or even small), it's easy to show that we need at least the axiom of choice. Given a cardinality $\kappa$, consider the category of sets of cardinality less than $\kappa$, with exactly one morphism between any pair of isomorphic sets, and morphisms from every set to $1$. Then all of the morphisms to the terminal object are monos since there are no non-trivial parallel pairs, and so an indexing of the subobjects is a choice of set of each cardinality less than $\kappa$.
Continuing in this vein, we can show that "every category has a transversal" is equivalent to the statement "every category has a skeleton". Given a category $C$, we can consider the category $D$ whose objects are objects of $C$, with exactly one morphism between any pair of isomorphic objects. Freely adjoin to this setup a terminal object. Then a transversal for $D$ provides a skeleton for $C$. Conversely, given $D$, we can consider the category $\mathrm{mono}(D)$ whose objects are monos in $D$ and whose morphisms are those completing triangles of monos with the same codomain; the isomorphism classes in this category are of course the subobjects of $D$, so a skeleton of $\mathrm{mono}(D)$ gives a transversal of $D$. You may be aware that "every category has a skeleton" is equivalent to the axiom of choice for proper classes; again, if we restrict ourselves to well-powered categories then the above construction doesn't hold water, but it should hopefully shed light on your question.