Hi and welcome to LQ!
I'm afraid this question has been answered many times before. Check the "similar threads" section in this page. But I'll just point you to the right direction. Here are the answers to your questions.
1. You can update your kernel from the RHEL yum repositories. This is possible only if you have a valid RHEL subscription. The good news is you can get the source RPM from the
Red Hat FTP servers and build it manually. You can get the RHEL 5 series specific packages
from this location on the FTP server. You'll need to know how to build source RPMs. It's easy, just search LQ or google it.
Alternatively you can use CentOS repositories to get new kernels because CentOS is essentially RHEL - Red Hat logos. But only do this if you know what you are doing.
2. This depends on what you currently have and what kernel version you plan to have. If you plan to build a custom kernel (see the answer to Q3) you'll need some packages, which you'll have to install manually if you don't have access to yum repositories.
Whatever you do remember one thing. It's best to build the kernel from the source package available from Red Hat. RH kernels are modified versions of the vanilla kernels available from the kernel.org. So if you are feeling adventurous, you can try to patch the vanilla kernel with the Red Hat patchset and then build it.
3. Building a new kernel should be straight forward. Check the answer to Q1.
However if you want to build a custom kernel (i.e.: if you want to build a kernel customized to your preferences) RH based systems provide a convenient set of tools for that. Use
this guide as a reference. It's for CentOS, but you just need to use RH specific things instead of CentOS specific things. You can find more info on
Red Hat docs.
EDIT: As usual the mods are working on it and unSpawn has already answered. I saw it only after I posted.