Also, große unterschiede zwischen den PICs der 12F und 16F Reihe gibt es keine (nur bei den 18F kommen einige neuen Befehle für den 16Bit Core dazu).

Zum Schaltplan würde ich dir noch empfehlen, bei dem Schalter, welcher zwischen Versorgung und Brenner herumschaltet den Pin-3 über einen 10K Widerstand nach Vcc zu ziehen. Ansonsten schwebt der MCLR-Pin des PICs in der Luft.

Noch eine Frage zu der Versorgung beim Brennen. Gehe ich recht in der Annahme, dass der direkt an den Com-Port des PCs kommt? Weil, wenn ja, wird es dem PIC nicht gefallen die +13V (+12V) vom PC an den Vcc zu bekommen. Da muss noch mindestens ein Spannungsteiler dazwischen.
Wenn das nur eine Schnittstelle zwischen dem Board und einem Brenner bildet, vergiss das ganze Zeug oben

Zum programmieren wird es nicht viel zu sagen geben. Der Programmablauf ist ganz einfach:

Start --> test ob SW1 gedrückt ist --> JA --> LED anmachen --> test ob SW2 gedrückt ist --> JA --> LED2 anmachen --> zum Start springen

Du kannst es auf zwei Arten lösen:
1) Ohne interrputs: Eine unendlichschleife schreiben, der dann, je nachdem, welcher Button gedrückt wurde, eines der LED aufleuchten lässt (oder halt was anderes macht).

Code:
    movlw  B'00000011'
   movwf GPIO
loop_main
   btfss GPIO,0
   call SW2_press
   btfss GPIO,1
   call SW1_press
   goto loop_main

SW2_press
    do_somthing_usefull
    return

SW1_press
    bcf GPIO,4
    nop
    return
2) mit interrupts, da setzt du den entsprechenden Port und die Intterupt-Flags und lässt das Hauptprogramm wieder in einer unendlichschleife rtieren. Wenn dann eines der Schalter gedrückt wird, wird das Interrupt aufgerufen und es macht dann seine Aufgabe.

MfG
Mobius

(dem oben beschriebenen Programm wird keine Garantie auf Funktionstüchtigkeit vergeben)