The only specific PIC book I've read is Programming 32-bit Microcontrollers in C by Lucio Di Jasio. He also has a well reviewed book on 16 bit devices.
I've found Chuck Hellebuyck's books in Basic helpful. He's written three on programming in C and he even puts out a semi-regular newsletter on microcontrollers. I've e-mailed him a couple of times with general microcontroller questions and he's always responded.
I believe his books, at least the first one or two, cover 8-bit PICs, so if you're new to PICs or microcontrollers in general, I'd recommend looking at those before diving into 16- or 32-bit ones.