PIC : Problem with LCD Initialization
It is really hard to tell from your posted code, much of which is missing, what could be consuming all the time. 

You'll need to do some work to narrow down just where all the delays are. A tried and true way to do this is to find an I/O pin that is currently idle or not used and set it up as an output DEBUG pin. Then start setting this pin high and then back low at various points in your code wake up and initialization flows. Putting this signal on an oscilloscope along with the MCU Reset signal will let you characterize how long various parts of the code are taking to run. 

Within a short time you will be able to determine if it is the MCU oscillator startup code, the length of time it takes to run the LCD init routine or how long it takes to run the FillFullLcd() routine. &lt;- These are just examples. It could be something else.