I want to use my laptop to hold a cool party where there is 2 different sources of music. 1 for hip hop, and the other jazz. I would like to play the tracks simultaneously and have them outputted either on a head phone jack and USB or 2 USB outputs. So I would need the signals to not get overlapped, is this possible? Do I need special software?
You will have to get a second sound card. Most MP3 players allow you to choose the output device, so you'll need at least 2 output devices (i.e. sound cards) to do this from a PC. You can get an inexpensive USB one for about $10.
While imsky's answer is probably what you wanted, another option is to use the channels of your stereo output separately.
Have one VLC instance panned to the left playing one type of music, another instance panned to the right playing the other type of music and split the stereo into two mono outputs.
You can do this either with two sound cards and software to use each one (per imsky's answer) or with one sound card that has multiple stereo outputs.
If you take the one sound card route, you'll need software that can send your music (presumably MP3s or something like that) out to the disparate outputs. It sounds kind of like you're looking to DJ a party, and there are many programs that are designed for exactly this. The only one I have any experience with is Mixxx, which is free, but I found it initially confusing.