Is it technically possible to send a transaction with two identical destination output addresses? Is it technically possible to send a payment consisting of several outputs, of which two (or more) are the same?

ie input collected 10 btc -> output to 1abc 1btc, output to 1abc 1btc, output to self 8btc (change)?

Will the client allow it? Can it be handcrafted?

I'm building a merchant-type app, and am trying to account for strange, non-standard transactions.

Thanks!
Yes, absolutely.

You can chop a 1 BTC input into 5 equal 0.2 BTC outputs, all to the same address.  These are not strange at all.