The only other way that I can think of is to create a proxy table for procA, and then use that to get the data in procB. Check the CREATE EXISTING TABLE command in the reference manual, and the Component Integration Services manual for more information.
Note that there are certain limitations with this functionality, so read up on it before you implement this.
>>Is there a way to do this other than creating a table in tempdb within procA and then cleaning it up in procB?
If you use hash-table [temporary temp table], it will live only for the session and also it will be automatically deleted once the session is over. error handling is important for this in B [check if #myTable1 exists then proceed] also it is good practise to have a "commented create statement of #temp table in B" as well.