A little example would not hurt:

declare an array type:
TYPE T_ARRAY_TYPE IS VARRAY(100) OF VARCHAR2(4000);
T_ARRAY T_ARRAY_TYPE;

Your proc:
MY_PROC (NUM IN NUMBER,
COM_DELIMIT IN T_ARRAY_TYPE)

FOR I IN COM_DELIMIT LOOP
VAR := VAR ||', '||COM_DELIMIT(I);
END LOOP;

Execute your statment:
EXECUTE IMMEDIATE 'SELECT *
FROM MY_TABLE
WHERE VAL = :VAR' USING VAR;

Let me know if it works