I'm assuming you mean in-game, as you can't revive in competitive battling.
- Yes.
Also unlike Mega Evolution, there is no limit to the number of times a Primal Reversion may be performed per battle.
Source: Bulbapedia on Primal Reversion.
- No.
In any battle, each Trainer may Mega Evolve a single Pokémon once. Mega Evolution is essentially a free action a Pokémon may make in addition to its normal move, but if a Pokémon will not use a move, it cannot Mega Evolve. Mega Evolution occurs before most actions except switching. A Mega-Evolved Pokémon will only revert back to its original state if it faints or the battle ends; if it is switched out, it will remain Mega Evolved.
Source: Again, Bulbapedia.
Also, I remember this happening with Mega Swampert and Primal Kyogre while battling the Elite 4 the first time. If Mega Swampert fainted, reviving it would not let me Mega evolve again, whereas Primal Reversion re-occured after sending out the revived Kyogre as it happened automatically at the start of the turn.