PP can be restored using Elixirs and Ethers, with the plain Ether restoring 10 PP for one move, Max Ether restoring full PP for one move, plain Elixir restoring 10 PP for all of a Pokémon's moves, and Max Elixir restoring full PP for all of a Pokémon's moves. The PP of all party Pokémon's moves will be restored when they are healed at a Pokémon Center, while the PP of individual Pokémon will be restored if they are deposited into the PC.
PP can also be restored using Leppa Berries, which restores 10 PP for one move, the Berry equivalent of Ether.
A Pokémon switched in after a Pokémon has used Lunar Dance will have its PP fully restored.
So apart from when a Pokemon receives the effects of Lunar Dance (usually performed by Cresselia), there are no self-inducing methods of restoring PP in the form of a move. Lunar Dance causes the user to faint though, but the Pokemon taking its place will be cured of any status ailments, and HP and PP will be restored.
If you want, you could get your Pokemon to hold a Leppa Berry and that will automatically be consumed when there is a move with no PP and restore 10 PP to that move.