If you can't use a nice text editor's macro functions to generate text (which is what you should probably be doing), and absolutely have to do it entirely with something you can call from a SQL interface on Netezza, then a stored procedure is your only hope.
Here is a sample stored procedure...
CREATE OR REPLACE PROCEDURE SP_CREATE_LOOP(INTEGER, INTEGER)
RETURNS INTEGER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
    pStartVal ALIAS FOR $1;
    pCount ALIAS FOR $2;    
    vSQL varchar(30000);
BEGIN
for i in 1 .. pCount LOOP
    vSQL := 'CREATE TABLE CLAIM_' || pStartVal + i-1 || ' as SELECT * from CLAIM WHERE PURCHASE_YEAR = ' || pStartVal + i-1 || ';';
    EXECUTE IMMEDIATE vSQL;
END LOOP;
END;
END_PROC;
..and what it creates.
TESTDB.ADMIN(ADMIN)=> \d
       List of relations
 Schema | Name  | Type  | Owner
--------+-------+-------+-------
 ADMIN  | CLAIM | TABLE | ADMIN
(1 row)
TESTDB.ADMIN(ADMIN)=> exec SP_CREATE_LOOP(2000,5);
 SP_CREATE_LOOP
----------------
(1 row)
TESTDB.ADMIN(ADMIN)=> \d
          List of relations
 Schema |    Name    | Type  | Owner
--------+------------+-------+-------
 ADMIN  | CLAIM      | TABLE | ADMIN
 ADMIN  | CLAIM_2000 | TABLE | ADMIN
 ADMIN  | CLAIM_2001 | TABLE | ADMIN
 ADMIN  | CLAIM_2002 | TABLE | ADMIN
 ADMIN  | CLAIM_2003 | TABLE | ADMIN
 ADMIN  | CLAIM_2004 | TABLE | ADMIN
(6 rows)
You can find the documentation for Stored Procedures in Netezza here.