Can I purchase a digital copy of StarCraft 2 as a gift?
Looks like it isn't possible, you have to have a battle.net account prior to buying a digital copy, but you cannot buy a digital copy for another battle.net account and you cannot buy a digital copy if you already own StarCraft 2.
However, if you live far away from the lucky recipient, you can buy a boxed version of the game, find the serial code, then send it (in a secure fashion) to the recipient - they could then create (or re-use) their battle.net account and add the code there, which unlocks the game. They can later download the game client from Blizzard, like any other digital purchase.
It is not currently possible to buy a copy of Starcraft 2 as a "gift" if you already have a battle.net account. Attempting to purchase another copy of starcraft gets you this screen:
If the gift recipient, however, does not already own a battle.net account, it should be a simple matter to create an account for them, in their name, and buy a digital copy of starcraft 2 with that.
You could also create a new account, buy the digital version of the game and then hand off the account details to your friend. Don't forget to delete the payment details you used to buy the game beforehand. A downside of this option is that your friend will then have a separate battle.net account for every time that you gift him a game. Could be a tad impractical. This is doable with a password manager such as for example LastPass.