The task_struct is actually defined in include/linux/sched.h somewhere around line 528 (that is where it is in my vanilla Slackware 2.6.11 kernel).
When you add a field to this make sure you add it at the bottom and not the top. The first several entries are expected to be in a certain place (at least they were in the 2.4 release of the kernel... these restrictions might have been lifted in 2.6).
Feel free to add anything to this structure, but keep in mine that all processes and threads get one of these allocated so you probably don't want to make it overly bigger then it already is.
I've requested that the local moderator move this to programming as it is more relevant there, and you might get some more response should my answer not be adequate.
Also.. if you are looking for structures, functions, or anything else in the kernel you might want to check out the
Linux LXR website which allows you to do a whole bunch of different searches on different versions of the source.