Often no pre-made dataset exists when you have such specific requirements. Therefore, you have to find your own data by searching for penny-stocks that matches your criteria. This can be done via a stock-screener. Doing a quick google search on "Gap-up stock screener" I found this website, where I sorted by highest percentage gap-up changes. From this, I found 4 stocks satisfying your criteria. I believe, this website gives gap-up events happened until a week prior, however, maybe there exist a different stock screener that can give you historical gap-up events?
When you have found your pennystocks, you need to download your intraday data. This can be done on Alphavantage.co. You have to sign up for a free API key. Connecting to the API and downloading data via Python or R is well documented, and I encourage you to read the documentation. However, if you do not have any experience working in R or Python, you can download intraday data via a URL call also. Eg. downloading data in a .csv file on the pennystock Neostem Inc. (ticker: CLBS) can be done via the URL:
https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY_EXTENDED&symbol=CLBS&interval=5min&slice=year1month1&apikey=YOUR_APIKEY_HERE
where you get the high, low, open, close prices in 5-minute increments. Also, replace "YOUR_APIKEY_HERE" with your API key. Remember that there is a limit to how much intraday data you can download at once (for 5 minute intervals, you can have a length max time-horizon of approximately one month).
Hopefully this helps.