Breaking a convolution into smaller pieces
Yes, you can split them up.  Convolution is a linear process, which means that superposition holds.  Thus, you can break up any convolution kernel $k$ into multiple parts ($k_1, k_2, ... k_N$) such that $k = \sum k_i$.

For example, if you had a convolution kernel that looked like [1 2 3 4] (granted this is a silly kernel, but does fine for purposes of illustration), you could break it up into the following kernels, [1 2 0 0] and [0 0 3 4].  Now, you could simply do the convolutions like normal and then add the results together.  The sum would be equal to the convolution product of the original kernel.

Doing that would be inefficient, though, both in terms of computations and memory.  Instead, you could simply drop the 0's at the ends of the "sub-kernels", and do the convolutions using [1 2] and [3 4].  The one tricky part to this is that you have to offset the results before adding them together to get the correct answer.