Tableau does not support stored procedures with multiple result sets. Please read the documentation here: http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.html#connect_basic_stored_procedures.html
Modify the sp or create an edited sp to write each of the five intermediate results out to tables to overcome the feature that allows reading only the first result set.
If you are lucky enough to be able to work with your DBA and your DBA trusts you, you can probably come up with a solution that has sufficiently good performance and is easy enough to maintain that the DBA will help out. A lot depends on volume of data and frequency. Maybe then use custom SQL in the Tableau data source definition if the tables relate. Otherwise, use multiple data sources. If your DBA is amenable, create a view and consume the view in Tableau.
Keep as much of the processing, joins, etc., in the database as you can. Others might disagree for sure, but the cleanest way to consume is select * from view-name in the custom SQL if you can get there.
Hopefully you have a test DB you can use to flush it out. Let us know what you end up doing.
Thanks for giving additional guidance, I agree with your suggestions. One small correction I suggest is that you should avoid Custom SQL whenever possible, and in the case of connecting to a VIEW you should be able to locate that view in the single-table connection list. Use a direct connection to a view instead of 'select * from <view>' in order to get the best performance with the types of queries Tableau issues.