Chen,
The variable is permanent. You may have noticed that after deleting a KAREL program named kar_prog from the robot, there is still a file named kar_prog.vr. That .vr file stores the KAREL variables. If you delete the .vr file, then the KAREL variable values will be lost.
2 things that may help:
1. The KAREL command GET_VAR can access variables from other KAREL programs. For example, you could have 2 KAREL programs: A) create_2d_array and B) get_2d_array_value. You could call get_2d_array_value from your TP program. It would use GET_VAR to access the 2D array in create_2d and then copy the value to a register.
2. There is a convenient way to check the value of your KAREL variables from the Teach Pendant. Go to Select screen, select a KAREL program and press Enter key. Press Data button->Type->KAREL Vars. You will be able to see the KAREL variables for the currently selected program.