Yes this question is a bit old, but I can never resist some fun character theory. Maybe you have already figured out a satisfactory answer to your original question, but in case not, here is a purely computational method for finding the decomposition you seek.
By general weight theory, the weights of the representation of $SL_2$ of dimension $2n+1$ are $\langle(2n)\beta, (2n-2)\beta, \ldots,(-2n+2)\beta, (-2n)\beta\rangle$ where $\beta$ is the highest weight of the defining 2-dimensional representation (Although $\omega$ is more standard for weights, I use $\beta$ here to avoid confusion with the $\omega$'s I use for the weights of $SO_{2n+1}$).
The weights of the $2n+1$ dimensional representation of $SO_{2n+1}$ are $\langle\omega_1, -\omega_1+\omega_2, -\omega_2+\omega_3,\ldots, -\omega_{n-2}+\omega_{n-1},-\omega_{n-1}+2\omega_n,0,\ldots,\rangle$ where the weights after the $0$ weight are just the negatives of the weights before the $0$ weight.
The embedding $SL_2\hookrightarrow SO_{2n+1}$ that you are interested in takes weights of $SL_2$ to weights of $SO_{2n+1}$; in both lists above I ordered the weights starting from the highest weight and working down.
Associating corresponding weights on the lists, one gets the following correspondence of the fundamental weights:
$\omega_1 = (2n)\beta$
$\omega_2 = (4n-2)\beta$
$\omega_3 = (6n-6)\beta$
$\ldots$
$\omega_{n-1} = (n^2+n-2)\beta$
$\omega_n = (\frac{n^2+n}{2})\beta$
In general, for $k\neq n$, one gets $\omega_k = (2kn-(k^2-k))\beta$
So how do we use this to decompose the spinor representation $\Sigma_n$ (with highest weight $\omega_n$) of $SO_{2n+1}$? Let $X_i = exp(\omega_i)$; then the character of the spinor representation of $SO_{2n+1}$ can be written as:
$\chi(\Sigma_n) = (X_1X_2\ldots X_n)^{-1}(1+X_1)(X_1+X_2)\ldots(X_{n-2}+X_{n-1})(X_{n-1}+X_n^2)$.
From the weight correspondence above, letting $Y = exp(\beta)$ (hence $X_1 = Y^{2n}, X_2 = Y^{4n-2}$ and so on) one gets the restriction of this character back to $SL_2$:
$Res^{SO_{2n+1}}_{SL_2}\chi(\Sigma_n) = Y^{-\frac{1}{6}(4n^3+3n^2-n)}(1+Y^{2n})(Y^{2n}+Y^{4n-2})\ldots(Y^{n^2+n-6}+Y^{n^2+n-2})(Y^{n^2+n-2}+Y^{n^2+n})$
Expanding this product out, one can read off the weights of the restriction as the exponents of $Y$.
For example, when $n=2$ one gets:
$Res^{SO_5}_{SL_2}\chi(\Sigma_2) = Y^{-7}(1+Y^4)(Y^4+Y^6) = Y^3+Y+Y^{-1}+Y^{-3}$
This has weights $3\beta$, $\beta$, $-\beta$, and $-3\beta$, and hence corresponds to the $4$-dimensional irreducible representation of $SL_2$.
When $n=3$, one gets:
$Res^{SO_7}_{SL_2}\chi(\Sigma_3) = Y^{-22}(1+Y^6)(Y^6+Y^{10})(Y^{10}+Y^{12}) = Y^6+Y^4+Y^2+2+Y^{-2}+Y^{-4}+Y^{-6}$
This has weights $6\beta$, $4\beta$, $2\beta$, $0$ (multiplicity 2), $-2\beta$, $-4\beta$, and $-6\beta$ and so this is the sum of the $7$-dimensional irreducible representation with the trivial representation.
Continuing this, for small $n$, the restriction of $\Sigma_n$ splits as $11\oplus 5$ (n=4), $16\oplus 10\oplus 6$ (n=5), and $22\oplus 16\oplus 12\oplus 10\oplus 4$ (n=6).
Best Answer
I think this question is not quite so trivial as Qiaochu suggests. Devising practical algorithms for problems of this type is certainly an active area of research within the computational group theory community.
The first problem is that the group may be too large for it to be feasible to compute its conjugacy classes and character table. It might be one of the large sporadic simple groups for example. Over finite fields, the so-called Meataxe methods, which are actually just based on linear algebra, have been used to find the composition factors of some modules of dimensions in the hundreds of thousands. There are ongoing efforts to extend these methods to characteristic zero.
If your representation is in characteristic zero, and you can compute the classes and character table, then the straightforward character theoretic methods will tell you what the absolutely irreducible constituents of the module are, but that does not immediately enable you to decompose the module explicitly.
Another problem that arises in practice is that your representation may be over the rationals, for example, but its absolutely irreducible constituents might not be realizable over the rationals. In that case, the reducibility of the module will depend on the Schur Index of representation',s constituents, which can be calcualated from the character table. But again, if you find out, for example, that a rational representation is the direct sum of two isomorphic irreducibles, then it can be very difficult to find the basis change that exhibits the direct sum.