The size depends upon your database, how big your tables will grow over a period of time. All things need to be taken in to account. You create a temp dbspace with 20 mb for start and add more chunks as it grows. Also make sure that your physical & logical logs are is seperate dbspaces.
Thumb rule : Try to have 25% the number of total data dbspaces and make sure these are on seperate spindles and not mirrored.
Reason : The more you have , the more the temp tables are parallelized and with mirroring turned off, you gain that little grain of performance and keeping them at seperate spindles gives you a more balanced i/o.
This is ONLY for the temporary dbspace.
Most common mistake : don't forget to create them with the "-t " option and plug them into the "DBSPACETEMP" parameter.
As for the chunk size , the max you could go is 2Gb , unless you use the 9.x versions.
Normally for sizing the dbspaces, look at how many different spindles are allocated for the database, make that many dbspaces and make sure the volumes are striped.