If you really want to hide part of the bracket - as opposed to drawing an unbalanced, but complete, bracket - then clipping is probably easiest. For your MWE, this is quite simple. For example:
\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\path [clip] (0,-.5) rectangle (4,.5);
\draw[decorate,decoration={brace}] (0,0) -- (5,0);
\end{tikzpicture}
\end{document}

Note that the clipped area specifies the area to be shown - nothing outside that area will be drawn.
Clipping affects everything in the scope of the clipping command. This may not be what you want...
Suppose you want to reproduce the following:

You might try this:
\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\path [clip] (0,-.5) rectangle (4,.5);
\draw[decorate,decoration={brace}] (0,0) -- (5,0);
\path [draw, fill] foreach \i in {0,.5,1,...,5} {(\i,-.25) circle (.5pt)};
\end{tikzpicture}
\end{document}
but this code will produce:

which is not what you wanted.
To limit the effect of the clipping, you can use a scope to specify just the stuff to which it should be applied:
\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\path [clip] (0,-.5) rectangle (4,.5);
\draw[decorate,decoration={brace}] (0,0) -- (5,0);
\end{scope}
\path [draw, fill] foreach \i in {0,.5,1,...,5} {(\i,-.25) circle (.5pt)};
\end{tikzpicture}
\end{document}
which produces the wanted result:

aspect; see How to draw an unbalanced curly brace in TikZ?. – Gonzalo Medina Oct 10 '15 at 21:32