There's no way to have a ring override the silent switch, but you can record a few seconds of silence as an AAC, rename the silent.m4a file to silent.m4r and drag it into iTunes, synchronize your iPhone, and then make that be your default ring tone. Only those callers with a ringtone setting in your Contacts will ring, and everyone else will not. It's a single setting (Settings - Sound - Ringtone) to turn this on and off.