#define ENC28J60_PIN_SCK 13
#define ENC28J60_PIN_MISO 12
#define ENC28J60_PIN_MOSI 11
#define ENC28J60_PIN_CS 10
These values are wrong. You're not changing Arduino code but AVR code so pin numbers are not the pins numbers Arduino chose for it's boards but pin numbers of the chosen IO port of the ATmega328 controller. The range is from 0 to 7, so this has to read:
#define ENC28J60_PIN_SCK 5
#define ENC28J60_PIN_MISO 4
#define ENC28J60_PIN_MOSI 3
#define ENC28J60_PIN_CS 2
You have to change the values consistently:
#define SPI_PORT PORTB
#define SPI_DDR DDRB
must be
#define SPI_PORT PORTD
#define SPI_DDR DDRD