Why do you declare the panel inside a function?
Either create it globally as well or dynamically via pan_create() - or alternatively use draw_quad to draw your bitmaps (above all other panels, though).
You can change the bmap of a panel at any time like this:
pnl_test.bmap = item_bmap[1];
(Btw. indices start at 0, not 1, but I guess you know that.)
You can declare the panel without a SHOW (not VISIBLE) flag and only set it when you actually want to see its content.