Regarding 1), you can do both, but if you're going to be aiming for the app store, you need to provide a good portion of the experience locally and in a way that differentiates it from just a typical mobile webpage. Otherwise you risk Apple's rejection.
2) Within PG/Cordova most interaction is done via plugins. It's easy to write your own (usually you can build off of a simpler plugin to get a feel for it), but the callback structure means that your code executes asynchronously. This makes things like reading and writing from files a little painful in that you must have several functions that act as callbacks for each step of the process. Not hard to get used to, but it is something to be aware of. You can also do JS<->Obj C directly, but I haven't done so myself. Apple has some documentation on it (IIRC, look for JavascriptBridge).