Just a problem with structure. Stored procedures don't have DECLARE keyword.
CREATE OR REPLACE
PROCEDURE "WHILELOOPTEST"(
LIMITLOOP IN NUMBER)
AS
MYCOUNTER NUMBER :=0;
BEGIN
WHILE MYCOUNTER < LIMITLOOP
LOOP
MYCOUNTER:= MYCOUNTER + 1;
DBMS_OUTPUT.PUT_LINE('Hello World' || MYCOUNTER);
END LOOP;
END;