hi,
I would as you say aproach this very carefully, "Falling on hard times" is no reason to think people will turn to steeling (rather insulting!), you have years of good service from your employee, that should count for something?
I would caution you to not fall into the trap of putting a few facts together and coming to the wrong conclusion (size 6, money tight, customer cant find some shoes, Hardly convicing IMO) . There may well be 100 other reasons why she cannot find the shoes, Kids took them, she lost them, she might not even be being genuine!
Only a suggestion, but could you switch cleaners for the customer (find reason like change of day/time etc) and tell the customer your staff has been with you for years without a problem but as a gesture of good will if they dont turn up in the next 3 months you will refund the money!
the cleaner would in my opinion find other items to "take" which she could sell, not be spotted wearing in the street, but you never know!
My own take would be to protect my staff member initially and then diffuse the situation without accusing anyone of either stealing or lying.