In different view to F1Krazy's answer, I would like to point out that evolution has shown to work differently in the anime it does in the games.
There is no apparent leveling system in the anime, so it doesn't make sense for Meowth to have "acquired enough experience" for him to evolve.
Trade-evolutions are also shown being handled different, as with Misty's Poliwhirl evolving into Politoed without the trade requirement; although a King's Rock as still involved.
With that said, Team Rocket's Meowth has not evolved into Persian for two reason:
1. Meowth despises Persian
There are two instances in the anime to which Meowth has shown a great dislike for Persian:
The first instance is poke-love Meowzie. This love is what lead Meowth to be more human like and taught himself to speak the Human language, as Meowzie preferred Humans. Long story short, Meowzie rejected him and went to a Persian who took her in under his care.
The second instance is Giovanni's Persian. As you stated, Meowth fantasizes himself being petting by Giovanni as a Meowth and not as a Persian. Meowth's jealous nature wants himself to be "Top Cat" and wants to be in this position as a Meowth and not Persian. This dislike towards Giovanni's Persian is related to an already dislike to Persian's as a whole
2. Meowth chooses not to evolve
It has been shown in the anime is that Pokémon can choose not to evolve, even if it were to be a level-based evolution in the games. A key example is Ash's Bulbasuar. In the episode Bulbasaur's Mysterious Garden, this shows a special festival that supports Bulbasuars evolving into Ivysaurs. Throughout the entirety of this episode, Ash's Bulbasuar is shown resisting the evolution process.
In earlier episodes, Island of the Giant Pokémon and The Ghost of Maiden's Peak, it is shown that Bulbasuar has a fear of Venusaur, and thus does not want to become one. This supports Meowth's choice of not evolving into Persian due to the dislike of it's evolutionary forms