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, 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. The Mobius function of a finite lattice $L$ can be computed by Rota's crosscut theorem. (The first online reference I could find was Theorem 1.3 here.) Namely, let $A$ be the set of minimal elements of $L$ -- in this case, this is the set $S$. Then $$\mu(x) = \sum_{B \subseteq A,\ \bigvee B = x} (-1)^{|B|}.$$
So $\mu(w)=0$ if $w$ is not a join of elements of $S$. If $w$ is a join of elements of $S$, then it is so in only one way (this is a way that weak order is simpler than a general lattice) so we get the description from the first paragraph.