Generally you don't want to recompile the Centos kernel. If all you need to do is compile a module or program to work with the Centos kernel you will only need the kernel-devel package:
yum install kernel-devel
or
yum install kernel-smp-devel
Unsupported Kernel
Also have a look at the features of the unsupported kernel, perhaps the thing you are looking to install/turn on is already included in that kernel. The unsupported kernel is available in the Centos Plus repository:
http://mirror.centos.org/centos/4/centosplus/Readme.txt
Kernel Source
Okay okay, so you absolutely have to have your own kernel.
You will have to get the kernel SRPM to work with. Preferably for the latest updated kernel. Available at:
http://mirror.centos.org/centos/4/updates/SRPMS/ or if there is no updated kernels in the current release
http://mirror.centos.org/centos/4/os/SRPMS/
The Centos Release Notes describe how to work with the kernel source:
http://mirror.centos.org/centos/4/os/i386/NOTES/RELEASE-NOTES-en.html
However, since there is no deep linking directly into the release notes, the Fedora Core 4 Release Notes have basically the same procedure listed in them:
http://fedora.redhat.com/docs/release-notes/fc4/#sn-kernel-exploding