I am wondering if I could share a singleton on the application context across multiple applications? Each application would be in its own APK but This might sound like bad
Yes, they can. You just need to assign same values to android:sharedUserId and android:process in both applications and sign them with same certificate.