Can SharedPreferences be used in this case?
No.
You cannot write SharedPreferences to an arbitrary location. The best you can do is have one central app (like a "loader" or "main menu") which is always installed. Then all other apps can use the central app's preference space to store and share settings (via createPackageContext). But createPackageContext will not work for a package that isn't actually installed (e.g., "com.mystuff.centralstorage" must be an actual installed package, not an arbitrary name)
In this case, the best solution is probably a shared file on the SD card, Java-style. See: FileInputStream, FileOutputStream, DataInputStream and DataOutputStream for handling small, easy text files, as might store preferences. Also, Environment.getExternalStorageDirectory.getAbsolutePath for the path to the SD card's root (that, in fact, is the only Android code necessary for handling files -- the rest can just be Java).
Android ContentProviders seem more geared towards individual apps. There is some sharing permitted (as above, with SharedPerferences) but they seem to embrace the Android "sandbox" concept where every app lives in its own private world, with sharing between them, which is not what's desired here. This solution requires something globally accessible by any number of apps, which a regular old file on the SD card would be.
(Multi-process friendly file protection schemes are another thing to think about.)