Came back to it a few days later, and fsck automagically ran itself on my (very large) data drive. It was a clean shutdown. I've waited for 30 minutes, and it's only at 4%. Done the math, that's a 13 hour wait, and I don't want to wait that long if possible.

Is there a way to interrupt it? I forgot to use tune2fs to disable it, now am I stuck waiting.

If you look at the release notes in the fsck source, it's been handling SIGINT since 2002, but it will only exit if all the child processes exit safely. For some reason, this wasn't the case in your fsck run.