Everything looks mostly in order. However, I don't think LATEbits has a member named RE0. Usually the convention is LATEbits.LATEx. Try that and see if it works.
In these situations, and to get a feel for the micro (because it's a fairly complex one) I usually make all ports digital output, and toggle them all, and probe each pin with my scope. First, you find out which ones are ready to go, and the ones that are not toggling have other things associated with them, ie ADC, Secondary oscillator (SOSC), clock output, etc.
My method of troubleshooting usually consists of checking EVERY bit of code, no matter how trivial, and verifying each one works, and building on that. So first check bit toggling, then check delay routines, then interrupts, etc