It's actually incredibly easy to move your data between Sandstorm hosts. Unlike, say, Google apps, Sandstorm apps are not tied to the hosting, so you can change hosts while still using exactly the same app. You can also run Sandstorm on your own machine if you want (it's open source).
Porting data from a Sandstorm version of an app to a non-Sandstorm version is also relatively easy. If you click the "download a backup" button, it's just a zip file that contains the app's database in whatever format it uses. But, how exactly to set up the app outside of Sandstorm depends entirely on the app.
Regarding web2py: I don't know much about it, but I assume it runs on Linux so it should work fine for writing a Sandstorm app...