I believe it can be done with the asm... :)
I'm looking for a way to change the exp system in fire red so when you're a lower level than a pokemon you knock out, you get more exp. But if you're a higher level than the pokemon then you get less exp.
Come on, this is not a helpful answer - it applies to literally every ROM hacking question ever.
Here's the closest thing I've seen. I believe this is unfinished, but I think it's the best start you'll find.