If you can't seem to get this through normal play, you can do it the way I did.
Start up a battle (arena, capture the chao etc) with a 2nd controller as your opponent.
Choose Creepy Courtyard as your arena. On the middle bridge going across the river, there is a super pickup with 6 Ice Balls in every time. Now drive to the corner of the arena where there is a tree (on the side of the stage where the 2nd controller starts).
Then pick up the 2nd controller and drive them to the opposite tree (same side of the arena).
Then try to line yourself up with them and take a shot. If you miss, keep adjusting yourself slightly until you hit. It might take a few tries and you'll have to go back to the bridge for the pickup again.
A couple of tips:
-First I tried it against Amy but it seemed from that distance, the ice balls were going over her. So I put the 2nd controller as Ralph as he's tall.
-Also, make sure you are at the side of the tree so you definitely have the 100 meter distance.
Hope this helps and good luck!
An extra tip from CandidFever3 (thanks by the way!):
You have to hit the other player 2-3 times for them to freeze. Use the 6 ice ball pickup and use the first 2-3 shots to make sure you're on target. Arena makes this easier since you can see an icon indicating the other player's location. Then you need to hit them 2-3 times to freeze them. It counts if you see the word "freeze" pop up. The other player should become encased in a block of ice.