皆さん教えていただきどうもありがとうございます。
今まで
GPIO=0b00000000;
__delay_ms(3000);
が消灯で
GPIO=0b00000001;
__delay_ms(3000);
が点灯だと思い込んでいましたが逆かもしれませんね。今仕事中なので家に帰ったらやってみます。
あと、これがLEDが点灯しなかったコードです。

#include <xc.h>

#pragma config FOSC = INTOSCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = OFF
#pragma config CP = OFF
#pragma config CPD = OFF
#pragma config BOREN = OFF
#pragma config IESO = OFF
#pragma config FCMEN = OFF

#define _XTAL_FREQ 4000000

int main(void)
{
OSCCON=0b01101000;
ANSEL=0b00000000;
TRISIO=0b00000000;

while(1)
{

GPIO=0b00000001;
__delay_ms(100);
}

return(0);
}

↑の方が言っているようにもしかしてwhile(1)がいらないのかもしれません。
ちなみに応用しようとしている内容は、バイクのウインカーに合わせて0.1秒ブザーを鳴らすというものです。