I believe there might be some confusion regarding the difference between HTTP headers, and the concept of *prepending* a header file on top of all existing files as they are requested.
When discussing webservers and 'headers', that usually means HTTP headers, which are invisible to the viewer, but tell the requesting agent, such as a browser, what type of file this is, and whether it requires authentication, etc... I say this because Apache has a module called mod_headers, which deals with HTTP headers, and thus is not what you are looking for.
Apache doesn't have a standard PREPEND directive, but if you install PHP (mod_php), then in the php.ini file, you can specify a standard prepended file. If you want all .html and .htm files to have this, you must set up httpd.conf to parse those file types as if they are .php files.
However, generally when one wants to prepend some HTML at the beginning of every requested web page, it is in a controlled situation where all the files are written by one team, thus they purposely leave out the <html><head> and <body> tags at the begining, because those are handled by the standard prepended header file. In your case, that wouldn't work, so you would end up with files having two <html> and <body> tags, among others.
So you see that your solution is not that simple. It is possible to make that prepended file include contain some PHP code which will place your banner ad content after the <html> and <body> tags, but it will take a bit of work to perfect it. I suggest you continue this discussion in the PHP forum, if you really want to pursue it.