You can find hidden PP ups on route 5, 12 and 16. You also can get them by getting a 10 win streak at the battle tree and returning the next day, as a loto ID prize, buying some at the festival plaza, or as a pick up item for Pokemon lv.81 and higher (Although it is very rare.).
You can find hidden PP makes on Mount Lanakila, Poni plains, and Vast Poni Canyon. You can also get them by getting a win streak of 40 and returning the next day, as a loto ID prize, or by beating a certain trainer on Route 15.
This and This