Change LCD information from PIC using push buttons
since my sensors have a delay_ms(5000) whatever I do in this 5 seconds
range does not happen anything

Imagine you are the MCU, and you are given the task of reading a sensor every 5 seconds and changing the display if you see a button pressed. What do you do? That's right, you check the buttons while waiting for the next sensor read! In other words, you multitask.
So instead of doing delay_ms(5000), do delay_ms(50) and check for a button press, 100 times. This will automatically give you a 50 ms button debounce time, while making the response to button presses fast enough that the user doesn't notice.
This 'cooperative' multitasking produces variations in the total delay time depending on what is done after detecting a button press. If this is a problem then you can either reduce the delay count to compensate for the extra time taken, or run a hardware timer and read the sensor whenever the time has advanced by 5 seconds or more.

I thought about interrupts, but I came with the very same doubt, how
can I swipe the LCD screen to show another sensor information even if
I have this delay?

If you use interrupts to detect button presses then they will 'cut in' during the delay and do their thing, then it will continue afterwards. However the delay will be stretched out by the time it took to respond to the button press. If you want a more accurate delay time then you might be able run a hardware timer which interrupts after 5 seconds and reads the sensor.
When using interrupts you must remember that an interrupt can occur at any time while your main program is running, including half way through displaying a reading. Therefore you should ensure that any variables updated by the interrupt code are 'volatile' so the main code knows they may change at any time, and 'atomic' so they don't change while it is reading them.