Executable code and data must be defined in an appropriate section
Do I need an ORG to compile even if I don't need it for the actual
  code?


Yes, you need an ORG directive to tell the assembler where to put your code (the assembler itself may not need it, but when invoked via MPLABX it does).

Since code execution starts at memory location 0 on reset, you should put 

  ORG 0


immediately before the first instruction. 

This should work for your simple program, but realize that location 0x0008 is the entry point for the high priority ISR (Interrupt Service Routine), and 0x0018 is the low priority ISR. Any code longer than 8 bytes that uses interrupts will have to jump over the ISR code, like this:-

    ORG 0
    BRA  startup

    ORG 0x008
    ; high priority ISR code 

    ORG 0x018
    ; low priority ISR code

startup:
    ; your code here