I am not that familiar with bootloader code. Is it like i have to intially load this code and then only my uart will be usable for porgramming?
I would like to have micro controller with 32KB flash or more. In this aspect also PIC18F252 works fine for me. Cost wise this seems preferable. But what advantage do we get with USB bootloader and loading comparabale with programming via UART except speed?
so you liked the PIC way...
first, one advantage with USB over RS232 is that it's faster, most PC nowadays have USB ports and not a single RS232 port. then, i'm not sure but a USB microcontroller like the PIC18f2550 is a little more expensive than a PIC18f252, but you should check both prices..
then also, programming to use a USB communication is more difficult than programming a RS232-USART communication.... then also, a USART communication could reach more distance than USB, even if you switch from RS232 to RS485 you could get 1000m of distance between your PC and your microcontroller...
as i said, if your distance is not an issue i would go the USB way...
now, a bootloader is a small program that you should program ONCE in your microcontroller (for that once time you need an external programmer, maybe you can borrow it or something like that...), and then you could use an existing communication port (or USB or USART) to re program the rest of the flash memory...
microchip got in ther appnotes some examples of bootloaders, both on USART and USB versions. (i remember the USB mpusb bootloader eats 4KB of flash memory, and the USB HID bootloader eats 8KB of memory (or something like that) any USART bootloader is far smaller than that...)
also don't forget that you can get a programmer: PICKIT or a PICKIT clone (both v2 or v3) for less than 50USD and you don't loose any flash memory to the bootloader... y hope you consider both options: small programmer vs internal bootloader
could you post some information about which sensors do you like to connect? i think you are still deciding between I2C or SPI? maybe we can take a look.