I don't quite recall how Macdonald defines a blade, but Hestenes has a quite useful definition: a $k$-blade is composed of $k$ orthogonal vectors in a geometric product. So $B = b_1 b_2 \ldots b_k$ where $b_i b_j = -b_j b_i$ for any $i \
eq j \in 1, 2, \ldots, k$.
Similarly, the psedoscalar $I$ should be, within some constant factor, $I = \alpha B c_{k+1} c_{k+2} \ldots c_n$ for some constant scalar $\alpha$ and some anticommuting vectors $c_{k+1}, c_{k+2}, \ldots$.
From here, the number of times you need to commute anticommuting vectors with each other should be clear. Remember, though, that each vector that forms $B$ _does_ appear in $I$ exactly once. As such, there will be one swap for each vector that is a commuting swap, not incurring a sign change.
Edit: I see Macdonald was talking about a $k$-vector, not necessarily a blade. The same logic basically applies, but the $k$-vector can be broken down into some sum of linearly independent $k$-blades.