Nic might have a different perspective, but those are the 2 options that are allowed over the API. I don't think the API provides a way to respect specific data elements so if you get the full cache, any filtering would need to occur on your iPhone and by then, it's already been transferred. So just download the info when you have a decent enough connection before going offline.