Is this higher when the game is shorter or longer? I have had rush games won where I get near 88 percent bonus so not sure.
The game length bonus rewards you for winning quickly.
In a longer game you'll build a lot more units/structures and probably kill a lot more units/structures, thus giving you more XP for the match. That alone wouldn't be sufficient to justify giving a game length bonus to shorter matches, though. The reason shorter matches give a bonus is that the first couple minutes of a match have a much slower rate of XP gain, as you slowly get your economy going, compared to later where you can be cranking out units left and right.
Consider the Fibonacci sequence: 1, 1, 2, 3, 5, 8, 13, 21, ... Numbers later in the sequence increase faster than numbers earlier in the sequence. Likewise, your XP gain per minute will tend to be much higher later in a game than at the beginning of the game. Thus, a game that lasts 20 minutes is likely to be worth more than 2 games that only last 10 minutes, even though both take the same amount of time. The game length bonus is a reward that helps make shorter games worth more XP, to reduce that imbalance. At the opposite end, the "soft cap" attempts to make longer games worth less (by cutting XP gains by 67% for the rest of the match once you've gotten 50kxp in the match).