I am sure that you need permission to add stored proc, depends if the 3rd party will let you add. I have worked with some that barely let you read ;)
Pushing isn't so bad. The biggest plus, is that the report no longer cares about database connections, you just give it the data. All of my reports run off of XML datasets, which is the push method, and I no longer need to worry about the DSN connection being changed, or the database being used is not the one specified, the app gets to take care of all of that.
By sub query, do you mean a subreport? If so, I try to stay away from them as they multiply the hits to the database (though with a push, there is only 1 hit to the database)
HTH