As per my commment, having seen questions similar to this before, I decided to write a canonical version which I think should get you started with configuring, building, and installing a kernel. But here I wanted to address some points specific to your case:
I wish to learn (for fun) driver programming, and hope it will teach me some things about Linux and help me "get into it".
I don't think this is a good reason. 99.9%+ of even long term power users never get involved with driver programming, including those who use the platform for development in C. By analogy, if someone who had never used MS Windows before said to you, "Well, I've got it installed now, and I thought a good way to learn about Windows would be to start writing a device driver for it...", what would you think?
I'd start fooling around with C doing platform specific things in userspace first, e.g., filesystem and networking stuff.
My first hurdle is to find a distro with a standard 2.6.x kernel. I tried to find one but they are all past 3.x now.
You don't need to do that. Most likely, a 2.6 kernel will still run fine on a current distro -- it's easy enough to try, of course. But beyond that, if the reason is because you are using LDD3 (the O'Reilly book), a 3.x kernel will still be compatible with most or all of that. Much (probably, most) of the driver code in the 3.x kernel exists unchanged from 2.6, and I'm sure the kernel devs consider it a priority to maintain this backward compatibility. The vanilla source is something like 16 million LOC; it can't all be constantly re-written.
So go ahead and try with whatever version you want.