Welcome to the forums! We frequently offer engine and tool advice. Most often, we have to explain what you probably already know: that there's no engine that perfectly does everything for you. It still involves work on your part to custom the engine's generic features into your game's specific features. That's the nature of a programmer's work.
Be able to load images of various layers of different clipart with transparent backgrounds to create one uniform image.
Why have this specific weird unusual request, when you can just load as many images with transparent backgrounds as you want, and draw them over each other or draw them into a new image?
Why look specifically for an engine that happens to do some weird crazy feature that you can easily write yourself?
These images will need to be placed on specific locations on the screen; especially in order to ensure that they line up correctly on top of each other
That's the programmer's responsibility: You can use any graphical API to draw images.
It's your responsibility to place them at 'specific locations' in the 'order' you want, and make sure they 'line up correctly'.
That's just called "drawing an image". Any graphical API can draw an image
If you want to draw images A, B, and C... then you order them how you want and draw them.
Draw(imageA, sameLocation);
Draw(imageB, sameLocation);
Draw(imageC, sameLocation);
You don't need special engine for that. That's the work that you, as a programmer, do.
An engine is unlikely to provide:
DrawMultipleImagesOverTheSameLocation(imageA, imageB, imageC, sameLocation);
I'd hate it if an engine tried to do that for me. It'd immediately tell me that the engine is trying to micromanage too much, and I'd spend half my effort fighting against the engine, to get it to do what I want, instead of what the engine thinks I might want.
Be able to have a great database capabilities,
Very very very few games use databases - they are mostly only used by online games, and only on the server-side of things.
Sometimes we hear a term or phrase, and we think that's what we need, because it sounds impressive, but we really don't need it.
Do you know what a database is, or when and why they are used?
so that I can load thousands of separate images and be able to code which images should be generated based on a user’s request for one uniform image
How large are these images? Why do you have them loaded all at once? Are every image on-screen at the same time?
Unless the images are very large, and you need every of them loaded into RAM at the exact same time, you won't have a problem - and databases add complexity to solve a problem you probably don't actually have.
I need a program with built in libraries
In this context, what is a library, and why do you need it 'built in'?
that will allow me to create 2-D environments to place the pictures they create into.
That's up to the programmer to write. All that's required is for the API to provide the ability to draw images and get mouse input, and the programmer writes the code to place images where the mouse was clicked.
For example some images I my want a black background; others, like if person selects bird I may want a cloud background.
That's up to the programmer to write.
People should be able to be able to point to a place on the image and words should describe what is there.
That's something programmers write. That's game-specific logic.
Be able to quickly handle thousands of data,
What is "data"? That's a rather generic term.
It's like saying, "I need to do thousands of 'things' involving 'stuff'".
"I need to do thousands of 'data' involving 'handling'" is the exact same meaninglessness when you are communicating to someone who doesn't know your project.
It makes sense to you, because you already know what you actually mean, but to me it's just frobbing a particularly insipid wodge.
and based on a user’s input a specific image will be generate to locate a group of clip art images based on the specification they requested
The API provides the method of getting the input, and the programmer writes the code to take that input and generate the images.
I am not an expert at C++ programmer, but developed a few little games using IRRLICHT game engine; so I do not mind coding, it is just the GUI and the libraries are very nice to have; I do not want to code for things that could be standardized for me
If you're looking for standard GUI desktop interfaces, Qt provides those. Qt is a huge set of libraries with alot of GUI-related (and non-GUI) features and tools.
But if you're making a game, you probably want something like SFML (which doesn't have any GUI). SFML provides you with the ability to create the window, get input, load images, and draw them on-screen. You'll need to pair it up with something to draw the GUI. Maybe SFGUI, though I've never used SFGUI myself.
This may require alot more work on your part than you're used to.
You're going from an engine (Irrilict) which tries to do as much as it can for you, but is targeted at a very specific and narrow category of programs, to a generic API which you yourself will have to build ontop of to make your narrow and specific and custom game.
The plus side is you won't have to pay anything for any of this. The only cost is your time and sweat learning a new set of APIs.