I have used a number of PIC chips for various projects and in the latest I had a 16F88 to hand so used that.
I got bitten by two things, the ReadModifyWrite of IO pins and the limited hardware stack.
The former you just have to work around, I did all access to GPIO using #define macros and a static LATn variable in RAM to simulate the setup of the 18F series PIC chips.
I blew the hardware stack a number of times, at least this showed up in the WizC simulator very quickly.
When working in assembler you are aware of all the subroutine calls when using high level languages and in my case the FORED WizC RAD environment these calls are not so obvious. With WizC I changed the optimisation to be for speed and not size, the later uses internal subroutine calls a lot more.
I then did some thinking and decided that in future that I would stick to the 18F family for this sort of project, the chip costs are not that much larger. Unit costs PIC16F start circa £0.60, PIC18F circa £1.60 (Farnell UK Pounds), less difference in volume. So unless you are designing something with a view to manufacturing a large run the extra hassle and costs of software development will outweigh the component cost.
The PIC 18F family are designed with C programming in mind and Microchip provide standard libraries for the 18F family.
I am also still waiting for the NXP arm cortex M0 processors that are less than a pound in unit quantities, there is even an 8 pin DIP packaged version http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC810M021FN8.html.
ST seem to want to get in this arena as well they have the F0 value line chips, there marketing line was 32 bits 32 cents. Not that I can see prices that low but certainly under a pound in small quantities, but no DIP version.