Longer fight means more "turns" (or "runs" depends on how you call it) an with each turn comes chance for next exp. So:
1. First tip to get better exp. is to fight without a sword.
Why? because your hits arent so strong and your opponent lasts longer.
2. Trying to flee.
When you try to flee your caracter tries to avoid hits and to run. It means, it will not attack and that means longer fight.
3. Use unicorn medalion instead of moon medalion.
Moon changes stats reponsible for both def and attack ability. An you should look mainly for def. Better attack means shorter fight.
Perhaps you have other experience?
If I find out something interesting I will post it here.
May the force be with you