You're right, there are many ways to read this text. Set in classical Buddhist terms, we could think about it in terms of upaya, or skillful means. Instead of seeing it as a rather morbid parable of cutting off one's arms and legs to help a rather clueless fellow, we can see it as a way to consider that we can always find a way to provide help, no matter what our own situation is in life. In the case of the story, the tree functioned according to the need of the person. It just so happened that function and need corresponded perfectly in this case. Real life, unfortunately, is not always so clear cut.
Seen in this light, we can consider that Shel Silverstein's story is about one particular tree, rather than the ultimate nature of every tree. Trees can do much more than provide wood for carpenters, but unfortunately they don't have much say in the matter. In my opinion, at least, from the Buddhist point of view, the "skillful" part of "skillful means" is that one always takes into account the actual capacities of all concerned, beginning with oneself.
Hope this helps.