wouldn't it be nice to have commands such as
Save(<filename>, <object>);
and
Load(<filename>);
with which one could save any Gap-object to a file and load it again into
another Gap-session?

The answer is simple: Sure it would!

In fact similar requests have been brought forward in the Forum
already several times and the answer is still the same, that in the
next version (GAO 4.XX) we intend to provide some such
possibilities. But as also had been said in the Forum, that version
will only be released next year.

There are similar commands described in the manual for
certain objects, but I couldn't find an entry for general objects.
Does anybody know how to program such a routine?
A similar command could be
SaveSession(<filename>);
that saves all variables defined at the time to resume the session
later with the UNIX-command
gap -session <filename>
The solution to this problem is probably beyond simply programming new
Gap-functions.

As said, there are plans, and some details have been discussed in the
Forum. You can read old Forum correspondence in 'etc/forum...' .

You are right that this is a nontrivial exercise. Sorry, at the moment
we must just ask for patience.