Collatz Paths: Forwards and Backwards along the Collatz Conjecture
Haskell, 170 158 157 146 143 137 135 112 109 108 106 100 99 bytes
a!b=length$fst$break(elem b)$iterate(&gt;&gt;= \n-&gt;2*n:cycle[div n 2,n*3+1]!!n:[div(n-1)3|mod n 6==4])[a]

I did not expect that my original version was so much more golfable, this is also the work of @nimi @Lynn and @Laikoni!
Thanks @Laikoni for a byte, @Lynn for 11 14 20 21 bytes, @nimi for 8 bytes!
This expands the the tree of visited numbers (beginning by a) step by step, and checks in each step whether we arrived at the given number b.