I would go out on a limb and say that your fonts are the problem. In Mac OS X, if your Library is loaded with fonts, it seriously degrades your startup time. Even more-so if some of the fonts are broken or incomplete.
To find out if this is the issue, try moving all the fonts from your Library fonts folder (~/Library/Fonts) into a temporary folder somewhere. Reboot and see if there's an improvement.
If so, you should try using FontBook or a similar application to manage your fonts into smaller chunks. Try not to have everything active at the same time.