And so I have worked it out! if anyone else ever finds this useful..here we go:
I continued working on Option 1 (See question) and found the 2 conditions to be satisfied to allow apps to share resources.
SharedUserID
In the Manifest I put the following lines under the tag
android:sharedUserLabel="@string/id" android:sharedUserId="com.example"
And in the string id I put "samsid" - Can be anything so long as its the same for both apps.
Apps signed with same key
Eclipse uses the same debugger key when debugging your app so no need to worry about this until you put app on the play store.
To access the other apps resources via context I used the following:
try {
otherAppsContext = createPackageContext("com.example.samstest", 0);
} catch (NameNotFoundException e) {}
Where "com.example.samstest is the app that setup the shared prefs. Then used "otherAppsContext" when making a shared preferences object in order to retrieve data the usual way.