There is no shampoo or product that will remove stains, especially when the stains are from saliva. The saliva oxidizes on the hair, causing the stain.
Whitening shampoos can help, I prefer Chris Christensrsen White-on-white shampoo for white coats. You will need to dilute ANY shampoo you try to use. Leaving shampoo residue on the dog is a major cause for itching and chewing. Cut the shampoo to a 1:10(1 part shampoo:10parts water) to use it, and rinse super well.
If her coat is wavy, it's probably mixed with bichon, that's common with "maltese" and bichon puppies. Both are white and fluffy so breeders can market them as either and by the time the adult coat is coming in, it's too late to fuss.
Major issue would be getting rid of the fleas. Try the flea pill Comfortis, it works wonders on fleas. You can also try to wipe the areas that are getting stained twice a day with clean water on a washrag. As new hair grows in you can keep it from getting stained, but again, there's not really a safe product to REMOVE all the staining.
And 'teacup' is a irksome term to me, there's no teacup size officially. It usually refers to a extra tiny dog, but maltese are already supposed to be very small. We see a ton of oversized maltese here, so when a properly sized one shows up everyone starts to fuss over how "tiny" it is and I've got to bite my tongue from going "Just because you own Malt-zilla doesn't mean that dog is undersized..."
Good luck.