Hi,
Yes the Weak Pullups are intended for just such an application so should work fine. Of course, as thay are pullups the switch must go to ground, so a closed switch is "Active Low" (i.e. reads as a '0').
With most microcontrollers the pullups are indeed nearer to a "current source" than a fixed resistor, and indeed the base PIC data sheet specifies the pullup in terms of a current range. However, in practice the pullups seem to be quite good, linear resistors of about 30k - 40k, as hippy says. According to the Microchip data they might be anything between 15k and 200k, but Microchip seem notoriously pessimistic with some of their data sheet specifications.
It does appear that the Microchip manufacturing process is capable of producing quite good resistors; the "DAC" has 32 resistors of around 5k each and obviously quite well matched to each other. I've used both types of resistor in some moderately "serious" analogue applications and they seem to perform quite well.
Cheers, Alan.