A presheaf F with values in C is a called a sheaf if, for every object X and every covering sieve R of X, the natural maps
$F(X) \rightarrow F(Y)$
for each Y in R induce an isomorphism
$F(X) \xrightarrow{\sim} \varprojlim_{Y \in R} F(Y)$
This definition makes sense without any assumptions on C.
The sheafification construction makes use of filtered colimits and essentially arbitrary limits (if you are interested in sheaves on a particular topology then you might be able to restrict the class of limits that need to be considered). The definition is
where the $\varinjlim$ is taken over covering sieves of X.
I don't know what conditions on C are necessary to make the sheafification of a presheaf in C a sheaf, but I wouldn't expect the construction to behave very well unless C is a fairly special category.
(Categories of algebraic structures on sets defined by finite inverse limits would qualify as "special", essentially because filtered colimits commute with finite inverse limits.)