Linking your chain to the spawn chunk is not necessary. You just need to make sure there are several items in each hopper and ensure you don't unload both chunks at once.
Setup two hoppers as you normally would on the border of two chunks. Place your items in both the hoppers, then travel away from the hoppers in a direction that will only unload one hopper chunk at a time, like so:
CCCCCCBBCCCCCC
CCCCCCBBCCCCCC
CCCCCCHHCCCCCC ===========>>>>>
CCCCCCBBCCCCCC
CCCCCCBBCCCCCC
C = The chunks
B = Chunk Border
H = Hopper
If you go out of range to unload only the furthest hopper (Chunk 1), the closer hopper (Chunk 2) still in range will kickstart the furthest chunk and load it. When the closer chunk goes out of range the further one will do the same and keep both chunks loaded.
It won't work if you unload both hoppers at the same time, so if you chainload a large area it makes it much harder to unload all the chunks at once (unless you teleport out of the area)
The chunks will remain loaded until the player physically goes back to the chunks, stops the hopper clock and moves away again to unload the chunks. I havn't yet tested whether server restarts and logging out unload these chunks though...