You can solve this by reducing it to a problem of Brownian motion: Define the scale function

$\varsigma(x) = \int_{X_0}^x e^{-2\int_{X_0}^y \frac{b(z)}{\sigma^2(z)} dz} dy$

the process

$M_t = \varsigma(X_t)$

is a local martingale. Therefore, by Dambis-Dubins-Schwarz it is a time changed Brownian motion

$M_t = W_{\langle M, M\rangle_t}$.

Thus, it suffices to study a time-changed Brownian motion, starting at $\varsigma(X_0)$, in the interval $(\varsigma(a), \varsigma(b))$.

Note that to calculate the probability of hitting each boundary, you do not have to calculate $\langle M, M\rangle$ explicitly. As long as $\langle M, M\rangle< \infty$ a.s., the boundary that one path finally hits does not depend on the speed you let run the clock.

This seem to be no longer true for the expectation. Though here you could proceed similarly as outlined by Mateusz in its comments. If $g$ is a solution to

$$ Lg = 1, \quad g(X_0) = 0$$

you can use Dynkin's formula to conclude

$$\mathbb{E}[\tau] = \mathbb{E}\int_0^\tau Lg(s) ds = \mathbb{E}[g(X_\tau)] = g(a) \mathbb{P}[X_\tau=a] + g(b) \mathbb{P}[X_\tau=b]$$

To make the argument rigorous, you will have of course check technical conditions. In particular existence of a solution to an SDE is not enough, you have to make sure that it exits the interval in finite time a.s. (e.g., as extreme example consider $b=\sigma=0$ when the diffusion will never exit the interval.

Markov processes. Modern textbooks usually take a different approach, though. $\endgroup$