There might also be other supporting characters. For example, Ash's friends like Misty or Brock could make an appearance. They often accompany Ash on his journeys and add more depth to the story. In some fanfictions, they could play important roles in the plot, perhaps helping Ash and Pikachu out of a tough situation.
Sometimes, there could be new characters created specifically for the fanfiction. These could be other trainers or even new Pokémon species that interact with Ash and Pikachu in unique ways, either as friends or foes, which makes the story more diverse and interesting.
Well, clearly Ash and Pikachu are the main characters. Ash is the trainer and Pikachu is his beloved Pokémon partner. They are the core of the story and most of the events revolve around their relationship and their adventures together.