It depends on the application. In this case a lookup table would consume quite a bit more program memory (there isn't any spare), and the division routine is needed for other tasks, so it makes sense to use it for that conversion too. Speed is not an issue.
You can actually do that as well with the division itself. But you need a kind of fancy interpolation, I forget the name, used for rational functions. Polynomials won't do.
Edit: I think this is either Restrictive Pade's approximation or barycentric rational interpolation. Or both combined.
Normally instead division is approximated with Newton-Raphson iteration. I think 6 steps is enough for 16 bit.