Say, I want to give Portal 2 to each of my friends. Is purchasing each copy of the game separately the only way to do it?
I don't think you can make a purchase that is part for you and part a gift. When you go to check out, there are two big buttons - buy for your account, or buy as a gift. This seems to indicate that if you want to buy a gift, you'll have to make a separate transaction.
This also seems to jive with the "one copy of a game per transaction" as well.
I think the exception to this is buying a multipack of a game, ie 4 copies of Left4Dead. You'll get one copy of the game plus three game passes in the same purchase. I will note that Portal 2 comes in a 2-pack, however, it seems like when you buy a multipack there's no option to buy it as a gift - you must take one of the copies for yourself.
Another way you could get around this restriction (so long as you're buying different things in the same cart as both gifts and for you) would be to make the entire purchase a gift, and have gift passes put in your account. You could then send the "gift" part off, and redeem the part that you want to keep.
If the issue is that you've got a fee per transaction with your payment provider, you might have a look at the Steam Wallet, where you can "fund" your Steam account once, and then use it to buy multiple items. There are fixed funding intervals, and I don't know if this is supported internationally, but it's worth a 10 second look. :) Given that so many games are going on sale in the next couple of weeks, if fees are your issue, you might do well to use it.