Can I change my Pokémon's attacks or are they random and unchangeable? If a it has more powerful moves before it evolves, does it have higher chance to get powerful moves after it evolves?
In latest update that incorporated raids, you are now able to change the attacks your Pokémon has through TMs and Charged TMs, which will teach your Pokémon a random new move. These items are rewards for defeating the raid boss
This Technical Machine item is used to teach your Pokémon a new Fast Attack. Your Pokémon will acquire a new Fast Attack and forget their old Fast Attack.
This item works like the Fast TM but it teaches the Charged Attack instead of a Fast Attack. Remember, the Charged Attack is performed by pressing and holding during battle.
According to this Pokémon Go resource:
"...the moves that your Pokémon have are unable to be changed, leaving you with the set moves that you have when you get the Pokémon, although some will change through evolution."
So, you cannot change your Pokémon's attacks, and evolving your Pokémon generates a new set of random attacks. If you want to ensure you get the best attacks, I suggest saving up candies to evolve several Pokémon of the same type and compare their attacks.
The source linked above also gives a list of Fast Attacks and Special Attacks that shows the damage, critical hit chance, duration, energy requirements, etc. of each move. This chart may be useful in deciding which Pokémon to keep.
This site has a better, easier to read layout for each Pokémon's moves. However, with the new update, many moves have been changed. For example, Vaporeon's extremely powerful moves have been nerfed. This resource shows the changes made to each move.