I can think of answers like "you've already discarded to a previous opponent's Militia (two green cards) and don't want to reveal the Moat" but that only helps you make the game take less time.
But the restriction of "no other Kingdom/Black Market cards are relevant" is really really huge. It's really hard to come up with convoluted situations that can come up in the 2-card kingdom of Militia and Moat that would make not revealing the Moat better than revealing it.
I don't think solutions that involve your opponent misplaying or even making a different play should be valid because then the trivial solution of "My opponent only buys Provinces on turns where people reveal Moats to his Militia" works. So the temptation of "I have two green cards to discard anyways, and I know playing this Moat will make me hit $8, and I want to invite misplays by my opponent or not reveal information" seems lackluster.
But then again I feel like that's probably it, since nothing else could really be it.
Well Deadlock's solution is easier and works anyway, but I still think Awaclus's solution is valid and the trivial example you gave isn't. You assume that your opponent doesn't misplay, but you can only assume that from their perspective. They can still do something that ends up being bad for them, as long as, based on the information they have, it was the best thing they could have done. So you have to give them information that causes them to do something that ends up being worse for them. Now there may be some WIFOM there, but this is good enough as a reason to prefer discarding two green cards rather than revealing Moat sometimes.
To give an example of this, say your hand is 2 Golds, a Moat, and 2 Provinces. There are 2 Provinces left, and you're up by 2 points. Your opponent plays a Militia, and then must decide whether to buy a Duchy or a Province. You can either reveal the Moat, in which case he knows that you have a Moat four other "random" cards in hand, or discard 2 green cards, in which case he knows you have three better than average cards. If you think you can buy a Province here, you want to convince him you can't; if you don't think you can buy a Province, you want to convince him you can. Let's say you both know (from deck-tracking) that playing a Moat would draw you 2 Silvers. If you reveal the Moat, he will certainly think four random cards plus 2 silvers will get you a Province (and so he'll take a Duchy). But if you discard two cards instead, all he knows is that you have three cards, and he has no idea whether you will pick up those 2 Silvers this turn. He is more likely to assume you can't get the Province, breaking PPR and making himself lose.
Note that it is actually in your interest to do this (it increases your chance of winning, rather than just speeding up the game), because it would be possible for him to catch up on later turns with Duchies.