No, (and yes*, kind of).
Using Actions with File > Automate > Batch is used for processing a batch of files, not for processing a single file.
Basically the process Photoshop uses to create the new files relies on the file name of the base images (the ones being opened and processed - the "batch" if you like) to create the new file names.
So, what you want to do is kind of backwards. You want to start with one file, and output to many. But you can't run a batch action on a single file. One file is not a "batch", and so it wouldn't work because the new file created would just be overwritten over and over again.
*However, it might be possible if you copy the "static image" temporarily in the clipboard. Then you could run a Batch Action on the PNGs which pastes the "static image" from the clipboard, as a new layer, drags the new layer under the PNG layer, and saves a new file based on the file name of the PNG being processed. Obviously this would need you to have the static image stored in the clipboard before running the Batch.
Try it and see.
Edit: Another alternative suggested by Joonas in a comment is using File > Place to insert the static image.
File > Place
the "fixed image" into one of the png images and sort it so that the existing layer is on top. Then do whatever else you wanted to do to the top layer and finally run the action throughFile > Automate > Batch
. to the rest of the png images. --- At first I figured you could've maybe used this script along withFile > Scripts > Load files into stack
, but not without editing the script, I think.