Fchk's proposal is technically neat as it avoids any scaling (other than by a power of 2) so without any arbitrary multiplication or division is computationally extremely light (important for a slowish 8 bit MCU without a hardware multiplier), but there is one major fly in the ointment: The PIC16F1847 FVR is an essentially uncalibrated piece of crap, with accuracy* of -8%,+6% when used as the ADC reference. The ADC module's worst case inherent accuracy is about +/-1% midrange (its actually expressed as +/- LSB counts so the percentage varies with the reading) and as your MCP9700A has an accuracy of 2%, if all the tolerances stack up unfavourably your measured temperature could have 11% error#, so you cant even trust the tens digit of the result! Also there is a lack of data for the FVR's stability with respect to temperature and time, so its hard to anticipate how bad the error is likely to be and how much drift you may expect. Also, as there is no scaling you cant even calibrate out the error, though you can adjust the offset to improve the accuracy at a single temperature.
As 1% 3.3V LDO regulators are readily available and reasonably affordable, using Vdd as the reference with appropriate scaling will give you worst case +/-4% temperature accuracy. You can probably improve this by a factor of two or more with calibration, as both the slope and offset constants can be trimmed (and probably stored in the MCU's EEPROM), at the cost of the scaling possibly optimising less well as the multiplication is by a variable not a compile-time constant.
* Extract from PIC16(L)F1847 datasheet DS20001942G, TABLE 30-1: SUPPLY VOLTAGE attached.
# It is of course more complicated than that - the MCP9700A is specified as +/-2°C (max.), 0°C to +70°C, and the ADC similarly specifies its accuracy in LSB counts so expressing the error as a percentage (of what?, possibly the sensor's rated operating range) isn't that useful. You'd need to do the math and work out the worst case error band in °C at several temperatures of interest to see if its really as bad as it seems to be.