I seem to recall, long ago, being told that difficulty couldn't change more than a certain amount at each retarget, but I can't seem to find what that factor is (or even confirmation that such a factor exists) no matter how hard I google. Does such a factor exist and if so what is its value?
The difficulty never changes by more than a factor of 4 (except for in a special case that only applies on testnet).
The code that enforces this is here.
Well doesn't that figure, the moment I ask the question my google-fu kicks in.
This wiki article states:
A single retarget never changes the target by more than a factor of 4 either way to prevent large changes in difficulty.