I don't get your problem clearly.
If the input is -3.3V to 0V and you want the ADC to read that as 0V to +3.3V, you can use a differential amplifier [with gain = 1 (unity gain)]that has one input connected to ground and the other to the input. This will give you the difference between ground (0V) and the input source which will always be positive.
Another situation is: the input is something like -3.3V to +3.3V and you want the ADC to read only the positive portion (when the input is positive). You can use a diode connection between the ADC input and ground (cathode to ADC input, anode to ground) to clamp the negative portion to -0.6V (or -0.7V), ie -Vf of the diode. If you use a schottky, it's clamped to -0.3V.
Another way is to use the PIC's comparator. The -ve input of the comparator goes to ground. The +ve input goes to the signal input. When the output of the comparator is +ve, signal input is +ve, when the output of the comparator is -ve, signal input is -ve. Have a differential amplifier at the input as stated above, so that the voltage is always +ve. When output of the comparator is +ve, take ADC reading (since input is +ve). When output of comparator is -ve, don't take reading as input voltage is -ve.
Another situation is: the input varies from -3.3V to +3.3V and you want to take the magnitude of the voltage. Then all you need is a differential amplifier as explained in the first scenario, since all voltages now will only be differences from 0 (due to the differential amplifier) and thus the magnitude of the input voltage.
Hope this helps.
Tahmid.
---------- Post added at 13:47 ---------- Previous post was at 13:45 ----------
You can find quite a few clamping circuits here:
Clamper (electronics) - Wikipedia, the free encyclopedia