As bastos.sergio said, use session.
That said, if you have load balanced web servers, ignore session and pull the data straight from the database server when you need it.
If it is a single web server, then use session.
Regardless, take a look at the data you are storing. ALL cookies for a domain are sent back on every web request. All session data is also loaded up for every single web request.
If you don't need the data for every web page, then you shouldn't cache it in cookies or session as it actually causes a greater performance penalty than just pulling it when you need to.
This is why the only things that are typically stored in cookies or session are simple items like the user id.
Also, I believe IE limits the site to 20 separate cookies for a total of 4KB of data.
See http://support.microsoft.com/kb/306070
UPDATE: Scratch the limit of 20. IE 5,6, and 7 support up to 50 cookies provided a particular update from August 2007 was applied. http://support.microsoft.com/kb/941495 However, the 4KB limit is still imposed.
And see this blog entry which covers exactly why large amounts of cookies are a bad idea.