So, if I understand correctly, what you're looking for is software that can be used to re-configure certain parameters of a PIC powered piece of hardware?
If that is the case, re-programming the program memory is doing it wrong; 'configurable' values such calibration values, set points, etc. should be stored in the PIC's onboard EEPROM or on a external EEPROM. If you intend on putting the functionality you describe in the hands of your customers, you're giving away the keys to the bank -- you're making it dead easy to rip off your firmware. The other missing component is programming hardware -- what are you using right now? There is something sitting between your PC and your PIC that is making the magic happen.
If you are in fact convinced that you need to re-program the PIC for your needs, there is open source software out there that can talk to most of the common PIC programmers available. Being open source makes it easy for you to script, modify and customize the software to your heart's content -- as long as you follow the stipulations you are bound to by the open source license of the software you use.
If my understanding as outlined in the first paragraph is indeed correct, then the simplest thing to do would be to configure those options via a serial port. Almost all PICs these days have a built in USART, so implementing a serial port is dead easy. If you're dead set agains good old RS-232, throw a FTDI or Prolific serial to USB converter chip in to your design as well. Or, if you're really committed to this project, go with a PIC with built in USB and write your own drivers.
Now, for software on the PC side, there's always the Visual Basic route (*barf*). I'm partial to a program called Runtime Revolution. It makes writing and maintaining software a snap, and it produces binaries that can work on any platform. But I'm not going to wear off the surface of my keyboard any more until I know better what you're trying to do