The answer is yes. I claim there are at most $2^n$ elements of $W$ for which $\lambda(w) \neq 0$. Specifically, let $\vee$ be the join in [weak order][1], which is a semi-lattice. If $\{ s_1, s_2, \ldots, s_j \} \subseteq S$ and $s_1 \vee s_2 \vee \cdots \vee s_j$ is defined, then I claim that $\lambda(s_1 \vee s_2 \vee \cdots \vee s_j)=(-1)^j$, and otherwise I claim that $\lambda(w)=0$. Thus $N$ can be taken to be the greatest length of $s_1 \vee s_2 \vee \cdots \vee s_j$, restricting ourselves to cases where this join is defined.

The condition $|v^{-1} w| = |w| - |v|$ says that $v \leq w$ in weak order. Therefore, this is the recursion defining the Mobius function of weak order. Mobius functions of lattices are well understood, and I extracted the result in the first paragraph from a paper of [Blass and Sagan][2] on Mobius functions of lattices. But it is easy to prove directly.

We need to show that, for any $w \neq e$ in $W$, we have
$$\sum_{v \leq w} \lambda(v) =0 \qquad (\ast)$$
where $\lambda$ is defined by the recipe in the first paragraph. Let $A$ be $\{ s \in S : s \leq w \}$. Since $w \neq e$, we have $\#(A) \geq 1$. Also, since $w$ is an upper bound 
for $A$, the join $s_1 \vee \cdots \vee s_j$ exists for any subset $\{ s_1,\cdots, s_j \}$ of $A$, and we have $s_1 \vee \cdots \vee s_j \leq w$ for any such subset.

On the other hand, if $v = s_1 \vee \cdots \vee s_j$ for some subset $\{ s_1,\cdots, s_j \}$ not contained in $S$, I claim that $v \not \leq w$. Indeed, if $s_k \not\in A$, then $v \geq s_k$ and $w \not\geq s_k$, so $v \not\leq w$.

So the nonzero terms in $(\ast)$ exactly come from $v$ of the form $s_1 \vee \cdots \vee s_j$ for $\{ s_1,\cdots, s_j \} \subseteq A$. So $(\ast)$ is $\sum_{B \subseteq A} (-1)^{\#(B)} = \sum_{b=0}^{\#(A)} \binom{a}{b} (-1)^b = 0$.


  [1]: https://en.wikipedia.org/wiki/Bruhat_order#Definition
  [2]: https://arxiv.org/abs/math/9801009