PMLs work at all frequencies, except DC. The problem is that if you construct a PML that works at a high frequency, the low frequencies will have problems. The biggest cause of this is the evanescent fields. If an evanescent field overlaps a PML, it becomes a propagating wave that can "suck" power right out of your simulation. A lot of work has been done to get PML's to handle evanescent fields better, but it remains a problem. The low frequencies produce larger evanescent fields. Another problem is that the PML is just physically smaller to the low frequencies than the high frequencies.
Typically, the ability for PML to absorb depends on the thickness of the PML (assuming the other conditions are met, refer to the paper link enclosed). Thus, there is no reason why you cannot design a PML to absorb a 1MHz wave. Of course, if the PML is thicker, you will have a larger domain (and more degrees of freedom) to solve, which takes more computational time.
At low frequencies, PML gets thicker, so you would require a high computational power. If someone has a solution to this problem of thick PML, do tell me, I am also facing same problems in my C codes.