If $c=0$ or $f(x)=0$, then the limit exists and is equal to $0$ regardless of $f(x)$.
If $c\neq 0$ and $f(x)\neq 0$, then the limit exists if and only if the limit $\lim_{\epsilon\to 0}f(x+\epsilon)$ exists.
If $\lim\limits_{\epsilon\to 0}f(x+\epsilon)=L$, then $\lim_{\epsilon\to 0}\frac{cf(x)f(x+\epsilon)}{c+\epsilon} = cf(x)\left(\lim_{\epsilon\to 0}\frac{1}{c+\epsilon}\right)\left(\lim_{\epsilon\to 0}f(x+\epsilon)\right) = \frac{cf(x)}{c}L = f(x)L.$ Conversely, if the limit you want exists, then so does the limit of $\left(\frac{c+\epsilon}{cf(x)}\right)\left(\frac{cf(x)f(x+\epsilon)}{c+\epsilon}\right) = f(x+\epsilon)$ (a product of two functions that have a limit has itself a limit, equal to the product of the limits), and so the limit will necessarily equal $f(x)L$ as above.
Now, by definition of continuity, $L=\lim\limits_{\epsilon\to 0}f(x+\epsilon)=f(x)$ if and only if $f$ is continuous at $x$.
So the limit equals $(f(x))^2$ if and only if either $f$ is $0$ at $x$; or if $c\neq 0$ and $f$ is continuous at $x$.
If you want the limit to equal $(f(x))^2$ for all $x$, then this holds if and only if $c\neq 0$ and $f(x)$ is continuous everywhere; or if $c=0$ and $f(x)=0$ for all $x$.