Re-program the Arduino Uno without losing a base (custom firmware) sketch

I wonder if it is possible to load a custom sketch as some sort of a permanent "firmware" to Uno and then re-program it with new sketches without losing the base sketch.

No. There can only be one sketch at a time loaded.