The MLB has no salary cap. Can you imagine if the Yankees wanted draft picks? They can get almost every pick they please.
In other words, "competitive balance" is the reason. In addition, the current expired MLB Collective Bargaining Agreement (CBA) does did not allow trading of draft picks.
However, in 2013, the new MLB CBA will let some teams trade some picks.
After the 2012 MLB Draft signing deadline passes, MLB’s 10 smallest-market teams and 10 lowest-revenue teams (if a team is in both lists, they will count as BOTH a smallest-market AND lowest-revenue team – which means up to 20 (but most likely not 20) teams will fall under this umbrella) will be placed in a “Competitive Balance Lottery” – a product of the new CBA.
The odds of winning a draft pick through the lottery will be based on each team’s winning percentage from the previous season (like the NBA). In the 2013 MLB Draft, there will be two groups of six lottery picks; one group after the first round, one group after the second round. The teams from the first group that did not win one of the picks from the first group will be re-entered in the lottery along with any other team that receives revenue sharing. However, only a team that wins a pick in the lottery can trade it, meaning the selection can be traded just once. Picks also can’t be sold for cash, and may only be dealt during the regular season.