I'm not sure exactly what's happening. If you have programs on C:, that same program should not be on J:
Programs do not simultaneously install to two different drives - they install to the folder you tell them to install to. Traditionally, you would have a smaller partition for C: and a larger one for files, but you may have gone too small for C:.
If you have game programs, for instance, they might take up a gig of space each. Windows XP SP2 takes between 681MB - 1100MB. You could quickly run out of space on C:.
Do some of your programs have data? For instance, a scanner can store images in its own Program Files folder, which would be on C:. You could move those images to a folder on J: and free more space on C:.
There are a number of things
you can move, such as My Documents, Page File, Mail Message store, and so on. Or, as the previous poster mentioned, you could use something like Partition Magic to increase the size of the C: partition. However, this method could easily cause a complete failure - Partition Magic may work fine, or it may mess things up badly.