Yes (mainly). That $u_*:=1_{f<0}$ is a minimizer (of $\int uf$ over all $u\in X(\Omega)$) follows because, if $0\le u\le1$, then 
$$uf-u_*f=(u-u_*)f\ge0, \tag{1}\label{1}$$
whence
$$\int u_*f\le\int uf.$$

The minimizer is not unique, though. If $u_{**}\in X(\Omega)$ and $u_{**}=u_*$ almost everywhere (a.e.) on the set $[f\ne0]:=\{x\colon f(x)\ne0\}$, then $\int u_{**}f=\int u_*f$, so that $u_{**}$ is also a minimizer. Vice versa, if $u_{**}\in X(\Omega)$ is a minimizer, then, by \eqref{1}, 
$$\int|u_{**}-u_*|\,|f|=\int(u_{**}-u_*)\,f=\int u_{**}\,f-\int u_*\,f=0,$$ 
so that $u_{**}=u_*$ a.e. on the set $[f\ne0]$. 
Thus, $u_{**}\in X(\Omega)$ is a minimizer if and only if $u_{**}=u_*$ a.e. on the set $[f\ne0]$. 

---

The same conclusion holds with $\{v\in L^2(\Omega)\colon v(x)\in[0,1] \ \forall x\in\Omega\}$ in place of $X(\Omega)=\{v\in L^2(\Omega)\colon v(x)\in\{0,1\} \ \forall x\in\Omega\}$.