About your questions:
1. To display an iframe on iOS devices with Cordova for iOS 3.8.0, you don't need <allow-navigation> element. You will need it if you are using Cordova for iOS 4.0.0 and above. To show the iframe you will also need CDVIntentAndNavigationFilter
plugin included to your project. More information about this is available in
Cannot Load iframe on iOS Devices When Using Cordova 5.0.0 or Later
2. I'm not sure that I fully understand this question. Based on the description I assume that you are asking if specifying the URLs in the <allow-navigation> element is allowed. If this is the case, you are allowed to change the URLs from:
3. We are not aware of a possible way to know if an iframe request is coming from an app. More about iframe limitations could be found in these forum posts:
4. The best possible alternative is o use the Cordova InAppBrowser
plugin. We have a sample application
showing this plugin usage. With this plugin, you can open a web page inside your app, without making your app logic accessible by the external scripts.
I hope this information helps.
Telerik by Progress