You create dynamically GTT, so yours INSERTmust be dynamic too.
Note that PL / SQL checks every static query before executing it. This is why you get an error ORA-942 Table or view doesn't existeven during compilation!
, , .
BEGIN
EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE TempQandA(column1 number) ON COMMIT PRESERVE ROWS';
.....
EXECUTE IMMEDIATE ' insert into TempQandA(column1) VALUES (1)';
END;
, GTT . . GTT .
EDIT: , GTT DDL CREATE OR REPLACE