I've never read Nijel's tutorials
but yes, you can get away with not adding them if you write your software a certain way.
I'll just use my project as basis. Since each pin supplies a max of 25mA, if there was only one LED, a max of 25mA would go through. However, I have four LED displays multiplexed. That pin can still only drive 25mA, but I'm rapidly switching each of the four displays on and off, and only one of the four displays is on at any given time. So the total, pulse width modulated current would be 1/4 of the full 25mA, dropping current down to around 6mA average. Note they are still 25 mA pulses, just that it's on 1/4 the time.
During the time the LED is off, which is 3/4 of the time, the LED can cool down from dissipating all that 25mA*1.6V worth of power, and the LED once again lasts as long as if it were using a low current. This way I have no resistors at all, just PIC pin -> LED -> Digit Driver transistor -> GND. I ended up using CC devices but as an afterthought I probably should have designed it CA and used a pnp digit driver.
Of course I do lose brightness due to the limited average current... but it's allright. I wouldn't use any more than 4 with a PIC in this method since I'm already cutting it a bit close, really need high brightness LEDs due to the severely limited current.
(Poor 16F628A... used every single pin on that device... 2 power, 7 for LED segment, 4 for LED digit, 2 for input/output, and 1 for reset... forced to use the internal oscillator...)