A method to get around making global temp tables, is to create the local temp table, then alter the structure in sp_executesql code. For example:
CREATE TABLE #tempExample (temp Bit NULL)
EXEC sp_executesql N'ALTER TABLE #tempExample ADD neededCol1 Int, neededCol2 Int'
ALTER TABLE #tempExample DROP COLUMN temp