You should regard ExpressionEngine as a delivery mechanism for web content. You can use its templates to output any format of content or data you want, including JSON. You can use PHP within templates for server-side processing, or write your own plugins/extensions in PHP to output data.
You can schedule cron jobs on the server to import data directly into the database, using your own tables or directly into EE's channel_title and channel_data schema.
I used ExpressionEngine as a backend to Flash website once, populating AMF output.
So, yes, ExpressionEngine would be very suitable to provide the web-based backend that the iPhone app would consume. It can output anything, and provide a user-friendly control panel for your project's admins.
Whether you use EE, another system, or custom develop the backend, you should consider that EE will work for this, but how can you maximize your efforts? Are there sufficient add-ons that accomplish goals that you can minimize development time? If custom development using a different framework or just PHP is in your skillset, can you optimize the application by housing your custom logic in your own EE add-ons?
EE will work. It's more a question of where you can leverage 1) expertise and 2) already-developed tools to optimize your efforts.