Express $n$ as a $1+\lfloor \log(n,2) \rfloor=:\beta(n)$ bit number. Then $f(n)$ can be evaluated in $\beta(n)$ steps using the given relations, each step $i=0,\ldots,\beta(n)-1$ xor-ing $n$ by $2^i$. Thus $f$ is bitwise inversion: $f(n)=2^{\beta(n)}-1-n$.
Write $n$ in binary as a sequence of consecutive "slugs" of same-valued bits, e.g. $n=55$ is $110111$ in binary or $(11, 0, 111)$ as "slugs". Applying $f$ to $n$ removes the leftmost slug and inverts the remainder, e.g. $(11,0,111)\mapsto (1,000)$. Note that the leftmost slug always consists of $1$'s.
(a) If $p\in\mathbb{N}$ has $s$ slugs then after $s$ iterations of $f$ it will have none: $v(p)=s$.
(b) $1994$ is $11111001010$ in binary, which is six slugs. So $v(1994)=6$. The smallest six-slug number is $(1,0,1,0,1,0) = 42$.
(c) The smallest $N$-slug number is $p=(1,0,1,0,...)$. If $N$ is even then $p+p/2=2^{N}-1$, so $p=\tfrac{2^{N+1}-2}{3}$. If $N$ is odd then $p+2p=2^{N+1}-1$, so $p=\tfrac{2^{N+1}-1}{3}$. Irrespective of $N$, $p=\lfloor \tfrac{2^{N+1}-1}{3} \rfloor$.