Bind variables are not allowed in DDL statements. You can however declare your variable as a substitution variable otSubst. Note that you should provide a format mask and add quotes:
Code:
CREATE TABLE TABLE2 AS
SELECT COL1,COL2
FROM TABLE1
WHERE COL3<=TO_DATE(':DATEVAR', 'DD-MM-YYYY')
We'll check out the parenthesis issue. That's quite annoying.