What is the function of the holes in splitter plates?
Do the holes in splitter plates reduce the boundary layer?


Yes. Suction is applied to remove the slow-moving layer of air close to the surface, so the air entering the intake has as uniform a speed distribution over the intake cross section as possible. That this air is used for cooling before being dumped overboard is sensible, but if cooling were the single purpose for sucking it in, then better and more efficient designs exist.

The boundary layer which has built up on the forward fuselage is removed by the splitter plate itself. The perforation is only for removing the fresh boundary layer which has built up over the upstream length of the splitter plate.

On some spike intakes the designers even implemented boundary layer suction on the intake cone, ducting the flow through struts in the intake to the outside of the engine. Even this complex arrangement seems to be worth it because it improves the efficiency of the intake and allows to widen its operating limits. From this article of the Airspacemag web site:


  The SR-71 inlet rids itself of boundary layer air by sucking it in
  through slots on the spike and passing it through ducts that exit the
  nacelle.


The airflow schematics in the picture below call this particular flow "centerbody bleed". Note how it is reversed at low speed in order to suck more air into the engine while it is used to dump the boundary layer air as soon as intake pressure rises above ambient pressure at higher flight speeds.



SR-71 engine airflow patterns (picture source)