How to use interrupts in micro C
This may be a bit obvious answer, but since there are no other answers and the device is PIC16, I think that the only way to get levels is using a block of if or equivalent statements.

For example something like this:

interrupt()
{
  if(A)
    {
      handle(A);
    }
  if(B)
    {
     handle(B);
    }
}


Basically inside the interrupt function, which in mikroC has to be void interupt(void) for normal and high level interrupts and void interrupt_low (void) for low level interrupts on 18F or declared using iv keyword, you place a list ifs which check each interrupt flag in order you like. Inside the if you place the handler that handles the interrupt and clears the flag and then go on to the net flag. Unfortunately, that means that there is no easy way to implement multiple levels of interrupts. 

One "hack" could be to check for interrupt flags you want to have higher priority inside of a if block of a lower priority interrupt before parts which take long time. This however leads to long and complicated interrupt service routines.

For example  

interrupt()
{
  if(A)
    {
      handle(A);
    }
  if(B)//B takes a long time and several steps
    {
     init(B);
     if(A)
     {
       handle(A);
     }

     handle(B);//This takes long time
    }
}


Another way would be to move the interrupt processing from the ISR to the main loop, if you can.  Make some global variables (declared outside of any functions) and use them a flags which will be set in the ISR and then processed inside the main loop. In case you have some very critical interrupts which cannot wait for the main loop to come and process them, you could make the hybrid approach. Place the handling routines for the most important interrupts in the ISR and for the rest of the interrupts use flags which will be processed in the main loop. You could even add few more "levels" of interrupts by checking flags set by the ISR for the more important interrupts several times in the main loop and for the less important interrupts only at the beginning or the end of the loop.

For example

char a,b,c;

interrupt()
{
   if(A)
        {
          handle(A);
        }
      if(B)
        {
         b=1;
         clear_B_interrupt_Flag;
        }
    }

main()
{

  while (1)
  {

   if(b)
    {
      handle(B);
      b=0;
    }
  }
}


Here's the link for the mikroElektronika's documentation for interrupts.