Mitch,
maybe someone with more knowledge about the flexible GAE environment or GCE can help regarding portability of code and if there are performance differences.
From my experience with only the standard GAE environment (Python with NDB/Datastore, GCS, Task Queue and a few other things), I don't think that portability is an easy task here. Of course, you can use WSGI, Django, webapp2 and so on, some standard features are conveniently wrapped (e.g. logging, GCS as file I/O, sockets) etc. But at the end of the day, GAE is a PaaS offering with nicely integrated services ready-to-go and easy to manage and scale ("batteries included"), and as such it is probably less portable than IaaS offerings. The NDB library for Datastore comes to my mind. I guess, you could use equivalent clients in the Cloud Python library to achieve a more portable solution for all of the features coming with the Standard environment, but then it might make more sense to pick the flexible GAE environment or even GCE. Each of the options come with their own pros and cons, really depends on your requirements and priorities/constraints.
Regarding the two GCS libraries specifically, I'm afraid they have different APIs.
AppEngine's lib reference:
Cloud Client lib reference:
Anastasios