Whenever $\ell(wv)=\ell(w)+\ell(v)$, you can construct a reduced word for $wv$ by producing one for $w$ and one for $v$ and then concatenating them. So, if you know an algorithm for producing reduced words, you can just do that.
On the other hand, there’s actually a particularly nice interpretation in this case. Reduced words for $w_0$ are in bijection with convex orders on roots (orders such that if $\alpha,\beta,\alpha+\beta$ are all roots, then $\alpha+\beta$ is always between $\alpha$ and $\beta$). The bijection is obtained by sending $(i_1,\dots, i_m)$ to the order $\alpha_{i_1} < s_{i_{1}}\alpha_{i_{2}} < s_{i_1}s_{i_{2}}\alpha_{i_{3}}<\cdots $; the lowest $k$ roots in this order are those sent to negative roots by $s_{i_k}\cdots s_{i_1}$. So, the reduced word you want comes from choosing this order so that the roots in the span of $K$ are below all other roots.
There are various ways of doing this. For example, if we choose vectors $\mathbf{x}=(x_i,y_i) \in \mathbb{R}^2$ for each simple root such that $y_i>0$, we can extend linearly to assign a vector to every root $\mathbf{x}_{\alpha}$. If these are generic, every root will have a different slope, and we can order roots by slope from lowest to highest. If we assume that $x_i\leq 0$ for all $i\in K$, and $x_i\gg 0$ for $i\notin K$, then this slope ordering will give us what we want once the positive $x_i$’s are big enough.
In your $B_3$ example, we would choose, say $(x_1,y_1)=(-1,1), (x_2,y_2)=(0,1), (x_3,y_2)=(2,1)$. We would then get the order on positive roots:
$$\alpha_1 < \alpha_1+ \alpha_2 < \alpha_2 < \alpha_1+ \alpha_2+\alpha_3 <\alpha_2+\alpha_3 <\alpha_1+ \alpha_2+2\alpha_3 < \alpha_2+2\alpha_3 <\alpha_3$$
This corresponds to the reduced word $s_1s_2s_1s_3s_2 s_3s_1s_2s_3$ (Assuming I did my computations right).