I think I can answer this, having written a few k of each of PIC and AVR assembler.
The smaller (eg 16F84) PICs are really easy to buy (at least in .au - even Dick Smith sells them), but they're not cheap (eg AUD10 for an F84), are slow (4 clocks/instruction, typically 4MHz clock for the available ones). However, they are a dream to program: the instruction set and architecture is beautiful and extremely easy to learn. Very few instructions, nice orthogonality and very few gotchas.
The AVR (I've used 90S2313 and 4433) is quite the opposite of this: they have a massive and difficult-to-learn instruction set with lots of overlapping functionality, exceptions-to-rules, etc, BUT (and this I why I now use AVRs instead of PICs) the silicon you get for your dollar is way more powerful. A 90S2313 (AUD6) runs at 10MHz (at 1 clock/instruction), has loads of SRAM and registers, two timer-counters including a 16-bit one with capture/compare and a UART.
So: you get a slightly steeper learning curve on the AVRs if programming them in assembler, but you get a much beefier micro. Both architectures have high level language (C, Basic) compilers; the PIC one (PICC) is not free, while the AVR one is gcc :)
Bascom produces an AVR basic for those wishing to suffer brain-damage (but it does emit native AVR code AFAIK), and Parallax builds a thing called the Basic Stamp which is a PIC on a small PCB. I personally don't like stamps: they keep their basic programs in external EEPROM (lots of room) and interpret it. This is extremely slow and very different from directly programming the micro.
Both companies produce most of their variants in a flash form (simply reprogrammable without UV), so go for these if you are experimenting.
If you're just starting out, I recommend you look at both architectures in detail (ie download the big, free datasheets) and see which is for you. You'll probably get simple stuff happening more easily on the PIC, but should find more advanced stuff (funky timing, distance comms, etc) easier on the AVR; assuming you're using the low-end cheap devices (16F84, 90S2313).
You can build programmers for either architecture for next to nothing (and kits are available for about AUD30), so don't sweat that part of it. A quick google will find you loads of these things.
Some quick links for ya:
PIC Flash Micros
AVR Tools for Linux, including avr-gcc
Dontronics stocks loads of micro-related stuff, including a thing called the SIMMstick, which is a system for programming AVRs and building AVR systems; I've not used it because its a bit expensive, but it does look very cool.
And lastly, a plug for some of my PIC code: The Time Machine is a project I built which is like cron in a micro (but not as powerful): 8 channels, 10 minute res., weekly period, 5 programs per channel. Its released under the GPL and includes PIC source, schematic, double-sided PCB layout, instructions, photos, etc. The file is 8MB, so please download it only if you're interested in PIC code or want the garden-timer-from-hell (more functionality than those $200 units at the hardware store).
"There is no God and Dirac is his prophet"
-- Wolfgang Pauli
[ Parent ]