PIC µ-controller I/O is current limited. I haven't studied that end of AVR's lately, but I'd imagine that it's what saved your LEDs.
However, be smart and don't strain you controller (some breakage will show later than when they took the hit).
Never mind the LED, it's cheap enough to hurt a few in the name of getting experience, but for anything you need to be reliable, use sensible design - LEDs are current controlled device (emphasis on controlled) and how hard is it to add a resistor?
Even if you forgot initially, cut a trace and add a 0805 or smaller, practically invisible (well, sort of)