Can I create two different Docks that I can switch back and forth between?
You could use an Automator service or one of the global-keybaord-trigger apps to run a script that switches between two different Dock preference plist files and then relaunches the Dock.

#!/bin/sh
#you'd have a dock-work.plist and dock-home.plist file 

cd ~/Library/Preferences/

if [ -e dock-is-work.state ] ; then 
    rm dock-is-work.state
    touch dock-is-home.state

    #save changes to existing Dock setup
    cp com.apple.dock.plist com.apple.dock-work.plist

    #copy home setup to main preference location
    cp com.apple.dock-home.plist com.apple.dock.plist
else
    rm dock-is-home.state
    touch dock-is-work.state

    #save changes to existing Dock setup
    cp com.apple.dock.plist com.apple.dock-home.plist

    #copy work setup to main preference location
    cp com.apple.dock-work.plist com.apple.dock.plist
fi

osascript -e "tell application \"Dock\" to quit"


(I haven't done bash if-then-else in awhile, so this might not execute as is.)