Pin numbers don't match b/w datasheet and variant.h!

I programmed Atmel controllers before using AVR Studio and the pin numbers in definitions were the same as physical pin numbers.

No they're not (well, maybe some of the tiny chips.) The ATmega328, for instance, has three separate "ports" (PORTB, PORTC, PORTD), each of which has some subset of bits numbered 0 to 7. A normal AVR programmer has to deal with the multiple PORTS, understand bitmasks vs bit numbers, and some other things that the Arduino/Wiring libraries simplify a great deal...