We are evaluating Salesforce, so I haven't got a live or demo system to try this out on. If we install a third-party app from the AppExchange, could we write our own app which has read or write access to the custom objects that are part of that app?
Absolutely! The custom objects from other managed packages are available for you to use in your own custom metadata (workflow, apex, etc). You can also add your own fields to the custom objects to extend them for your own use case.