So, I’m lazy. Sometimes I’m on a knitting roll, and I just don’t feel like stopping to get up and dig through my mess of a stash to find out if I have dpns in the same size as the needles currently in my sweater, or if I have a second circular needle for Magic Loop (I usually don’t). So if I need to knit a sleeve or neckline or something else with a smaller diameter, I use something I’ve heard referred to as Traveling Loop:
When I get to the point where I have few enough stitches to make them feel stretched and tight around the cable (this is a totally arbitrary, changeable point) I smoosh the stitches down some on the right needle and pull a length of cable loose.
Then I bend the nice, flexible cable into a little loop so that I can continue knitting with the end of the needle as normal. This loop will come together between two stitches.
As you can see, the loop stays between the same two stitches, so as the stitches travel closer to your left hand, so does the loop.
Eventually, the loop will travel all the way to the end of the left needle, at which point it stops being a loop and you’re left with a bunch of extra cable on the left. Simply pull on the right needle until all the extra cable is gone from the left side, and start again with Step 1.
Alternatively, you may decide at any point in the round that the stitches are being annoying and tight again, and simply pull the right needle free to move your loop back to the start mid-round.
This is not a method for everyone. If you have a large collection of dpns in all sizes, or lots of redundant circular needles, those methods can be a lot less fiddly. However, if you’re trying to avoid buying another set of needles (or are just too lazy to go find them!), this can be a great workaround.