I do this (reset and reformat to factory spec) with my phone and my laptop every time I cross a border. On the other side I download a TrueCrypt file which has everything (and only what) I need whilst abroad. I started doing this in 2010, after my phone got taken into another room for a half hour at Ben Gurion in Tel Aviv in 2010.
The problem I'm having is that I have a ton of widgets and custom settings on my phone (Android). If I were to wipe my phone before crossing a border, it would take quite a while to get it set up the way I like on the other side.
I am just using stock android though. I wonder if there is a way to achieve what I want with a rooted phone.
You can completely backup most apps and your sdcard with adb on an unrooted phone [1]. The tricky ones are apps like Google Authenticator, which disable adb backups. You have to be patient and not use your phone for a while. It takes a long time. If you root, a nandroid backup is the way to go.
To answer my own question, it looks like rooting and then using a custom recovery like ClockWorkMod or TWRP is the way to go for a true whole-system image.