I don't think what you are asking is possible.. two sceanrios:
- set the phone to mute then you wont have any sound but vibrate at all events.
- second whatever app is doing the push you blank out its sound file (can be system sounds or others or perhaps they can be set to none - requires jb to alter sound files). this way you have your ringer and other sounds but certain sounds play but are blank and the phone vibrates as it plays the blank file.
I am not 100% but there maybe some app that can do that... someone else can chime in.