From what I understand, the chipset supports 6GB. However, it does not mean all models support 6GB. Going to 6GB of RAM will depend on the model and firmware. This model particularly does not support it, so you are limited to 3GB.
If you do not care about stability or having your new memory downclock to the existing modules, you can save some money and reuse part of the old RAM. However, this is not the best idea since the machine probably came with 667MHz memory. You are likely better off buying 2 similar modules that are 2GB and 1GB in size. The new memory will not downclock this way, but if it's off just enough it can be a problem if you need system stability. If you need absolute stability, buy a 4GB matched pair. The big thing is to try and brand match the memory and CAS latencies.
However, even if you could the RAM would be expensive anyway. The cost of DDR2 in sticks larger then 2GB tends to be pretty expensive these days. Even if you could you would need to weigh the cost to get the memory to do it anyway. It will be much more cost effective to stop at 4GB nowadays.