Any such $A$ can be seen as incidence matrix of some directed graph. If the rank is less than $m-1$, then the corresponding graph will just have more than one connected components.
The system $Ax=b$ can be seen as $b$ amount of flow being injected at the nodes and $x$ is then a valid flow along the edges satisfying flow conservation at each node. You can show that $Ax=b$ has a solution iff the values in $b$ corresponding to each connected component add up to zero.
Your requirement that there must exist a solution with only $1$, $-1$ and $0$ is not always true for arbitrary $b$. But for your particular case, you can see that there exists a solution for $Ax=b$ iff the nodes corresponding to $1$ and $-1$ in $b$ are in the same connected component. And if they are in the same connected component, we can find a path (ignoring directions) between those two nodes and send a unit flow along this path. This gives a solution $x$ with just $1$, $-1$ and $0$.
You can extend this to more general $b$ too, with some conditions on min-cut of the graph.