on my 29er I use a xt crankset with 20t/32t/44t chainrings ( want to replace the 44t with a 42t)
the 20t is made by actiontec it took some filing on the crankarms to get the chain to sit right and I had to take some links out of the chain to keep the derailleur working right
the 20t-32t and 32t-20t shifts are a little rough but with barcons that wouldn't be an issue
shimano als0 has a 12-36 cassette and you can get aftermarket cogs that go on the back of your cassette in 36t,38t and 39t sizes
http://www.actiontec.us/ti&steel.htm