Is there a way to gift Blizzard games using Battle.net?
Update: Some in game items are unavailable for gifting.
It is currently possible to gift: World of Warcraft, WoW mounts/pets, StarCraft 1/2, Warcraft 3+expansion, Diablo 2+expansion and Diablo 3+expansion.
Pre-purchase of Overwatch and WoW:Legion seems to not be giftable.
From the blizzard support page:
Gifting Items
Heroes of the Storm in-game items, and Hearthstone in-game items are currently unavailable to gift.
To gift an item, click Gift instead of Buy Now on the item’s page. During checkout, enter your friend’s email address. Once we process your purchase, we’ll send a key code to their email address, and you’ll receive a purchase receipt at your registered Battle.net email address.
Note: Gift processing may take a few hours. If you entered the wrong email address, you can find the key code for your purchase on the Order History page once processing completes. You can copy this code and send it to your friend.
Your friend must have a Battle.net account to claim a game key. If you gift them a World of Warcraft pet, mount, item, or game time, they must have a World of Warcraft licence in good standing (not banned or suspended) attached to their Battle.net account.
Note: You cannot gift Battle.net Balance, World of Warcraft character services, guild services, or subscriptions.