This is a curiosity question which struck me at a less-than-optimal moment; I apologize for not having thought much about it.
Motivation. It is well-known that monomorphisms in a concrete category need not be injective maps. As far as I understand, a concrete category that has "forgotten" its realization (i.e., forgetful functor to $\operatorname{Set}$) just does not "know" which of its maps are injective. The notion of a monomorphism is only an "upper bound" on the injective maps (i.e., each morphism which is injective as a map is a monomorphism, but not conversely). Now, if I have a (non-concrete) category and want to "tell it what its injective morphisms are" without giving it a realization, I see two ways how I could go: Either I could just specify which of its morphisms I regard as injective (by what I call an "injectivity predicate" below), or I could try to embed it into a larger category and say that the injective morphisms are the monomorphisms which are still monomorphisms in the larger category. The below question essentially is "are these two ways equivalent?".
Question. Let $\mathcal{C}$ be a category. A wide subcategory of $\mathcal{C}$ will mean a subcategory of $\mathcal{C}$ whose objects are all objects of $\mathcal{C}$. (Some people call this a "lluf subcategory" of $\mathcal{C}$.) Let $\operatorname{Mono} \mathcal{C}$ be the wide subcategory of $\mathcal{C}$ whose morphisms are the monomorphisms of $\mathcal{C}$. An injectivity predicate on $\mathcal{C}$ will mean a wide subcategory $\mathcal{I}$ of $\operatorname{Mono} \mathcal{C}$ such that if $f : X \to Y$ and $g : Y \to Z$ are two morphisms in $\mathcal{C}$ satisfying $gf \in \mathcal{I}\left(X,Z\right)$, then $f \in \mathcal{I}\left(X,Y\right)$. For example:
The subcategory $\operatorname{Mono} \mathcal{C}$ is an injectivity predicate on $\mathcal{C}$.
If $\mathcal{C}$ is a concrete category, and if $\mathcal{I}$ is the wide subcategory of $\mathcal{C}$ whose morphisms are the morphisms of $\mathcal{C}$ which are injective as maps, then $\mathcal{I}$ is an injectivity predicate on $\mathcal{C}$.
Now, let $\mathcal{I}$ be an injectivity predicate on a category $\mathcal{C}$.
(a) Is there a category $\mathcal{D}$ such that $\mathcal{C}$ is a wide subcategory of $\mathcal{D}$ and such that the morphisms of $\mathcal{I}$ are precisely the morphisms of $\mathcal{C}$ that are monomorphisms in $\mathcal{D}$ ?
(b) Is there a category $\mathcal{D}$ such that $\mathcal{C}$ is a wide subcategory of $\mathcal{D}$ and such that the morphisms of $\mathcal{I}$ are precisely the monomorphisms of $\mathcal{D}$ ? (This is stronger than (a), and I don't have much of a reason to hope it is true.)
(c) What if we drop the "wide" in (a); i.e., we allow adding new objects to force morphisms not in $\mathcal{I}$ to be non-monomorphisms?