Pic Programming - Nested Loops
You need to set TRISAbits.TRISA11 = 1; to make the input readable. As it is, you have it set as an output, so it won't ever read any change at the pin, and the code doesn't either set it to a state that will cause the main 'if' sequence to run. (edit - that's not entirely true, you can read the state the output pin is forced to, but it's clearly not acceptable to force a logic 0 output high, it'll sink a fair amount of current).

The 'else' I suspect is intended to be setting the output latches all back to zero, in which case you need to be writing "LATCbits.LATC3 = 0;" etc.

There's plenty of people that will jump on writing to "PORTCbits.RC5 = 0;" as being wrong, writes should be to the latch, and reads can be from either the latch or port, depending on whether you want to know what it is intended to be set as (to avoid the RMW issue) or what it has actually achieved (depending on the external circuit), but in the vast majority of the PIC port structures, both a PORT and LAT write set the same latch regardless.