The "database" has a pretty simple format, documented elsewhere (?) on this BBS. It's pretty easy to interface to even without any funky libraries. Barely a step above CSV format.
Indeed. Among the various implementations of things that talk to Empegs and retrieve database information, there's, well,
mine, in which the code you're looking for is in libempeg (the low-level protocol) and libdbempeg (parsing the database). A simple command-line synchroniser is in choraleutil/protocoltool.cpp.
Being C++, this could in theory all be run on Iphone or on Android (using, in the latter case, the NDK to talk to it from Java). The dependencies could be hard work, but the core code should be portable enough to be of assistance.
Peter