(UPDATE)... I just fixed a "bug" where the script (below) would only look for "panel_6"
... Also, the script will only be of use for a single-monitor system...
... However, looking into it a bit further, it may be possible with Dual/Multi-monitors.
... Here is a link to something about Panels on a second monitor...
... moving panels (between screens)
... Im not sure if it's what you're after, but is seems more appropriate for multi-monitors.  
Assuming that there is no "built-in" way to do it, as seems to be the case, I've cobbled up a script to "sort-of" do it...  It simply sets the panels of your choice to auto-hide... and you can choose which workspace(s) via the args. 
You can bind the script to the same keys that Compiz currently uses to switch works-spaces...   
If you use any other method to get to the next workspace, it won't work, but you can also use the script to toggle the panel(s) on/off...  (ooops! I haven't got the time today to finish that bit... :(
I haven't fine-tuned it yet, but it works (up to a point).  It may or may not suit you.
(You will need wmctrl  )
)  
Here is the script as it currently stands:  
#!/bin/bash  
# Arg1: A capital letter; L or R .. to indicate the Left or Right direction for next work-space
#
# Arg[*]: Each arg, after the first, is the number (1-based) of a work-space for which you wish to hide the panel(s)
#         If no args are supplied, the current state will be toggled; show/hide ... hide/show
#
# Choose your panel identifiers by opening gconf-editor with this command:
# 
#    gconf-editor /apps/panel/toplevels/
#
# You can test each of the listed panels by clicking in the "Value" checkbox 
#  of the "auto-hide" item... 
#
# Then add the Panel-IDs which you want to be hidden,
#  as shown here  
panels="panel_6 panel_6" # I only use one panel, so I've just repeated it to make an "example" list  
######
dir=$1;
valids="LR" 
if [ "${valids/${dir}/}" != "$valids" ]
then shift 1
else exit 1
fi
eval $(wmctrl -d |sed -n "s/.*DG: \([0-9]\+\)x[0-9]\+ \+VP: \([0-9]\+\),.* \([0-9]\+\)x[0-9]\+ .*/wmax=\$(((\1\/\3))); wcur=\$(((\2\/\3)+1)); wide=\3; hide=false/p")
if [ "$wcur" -eq "$wmax" ] ; then 
  if [ "$dir" == "R" ] ; then
    wnew=1
  else 
    wnew=$((wcur-1))
  fi
elif [ "$wcur" -eq "1" ] ; then 
  if [ "$dir" == "L" ] ; then
    wnew=$wmax
  else
    wnew=$((wcur+1))
  fi
else
  if [ "$dir" == "R" ] ; then
    wnew=$((wcur+1))
  else
    wnew=$((wcur-1))
  fi
fi
wmctrl -o $(((wnew-1)*wide)),0
for w in $@ ; do
  if [ "$w" -eq "$wnew" ] ; then
    hide=true 
    break
  fi
done
for panel in $panels ; do
  gconftool-2 --set /apps/panel/toplevels/$panel/auto_hide --type bool $hide
done
exit
###############################################################################