I still think that destroys the strategy. The main difference between your Butterfree and the other guy's is that your's didn't forget Harden in favor of Leech Life. This could signifigantly change a battle. However, if the other guy has one more move in addition to Harden, then the battle becomes dull. Having only four moves supplies variety. Keep in mind, Pokemon is not Final Fantasy. You can't interchange one aspect for another.
As for the online aspect (should it ever exist), I think your character should be allowed to change clothes. Think about it: in the game, all the trainers dress like "Flamethrowers" (who, obviously, use Fire Pokemon), Schoolgirls (cute, normal Pokemon), etc. You could completely throw someone off by dressing as a fisherman and fighting using Grass Pokemon. This would force you to keep a well-balanced, powerful team.
One thing that must be implemented is the ability to end a battle for various reasons. For example: in the link-up Gameboy versions, the battle can not continue until both people make moves. If someone you were battling were to just get up and go to lunch during a battle, you'd be screwed. There should be a three minute wait, where, if the other character doesn't choose an attack, the match will be awarded to you. One of my friend's GBCs ran out of batteries during one of our fights. My game decided to not react. I had to save beforehand, but it was still annoying.
-- ShockingAlberto