I'm sorry, I wouldn't really know how you could go about making a headbutt tree- basically I'd start with a Wild Pokemon script on the block. To make it more like GSC/HGSS headbutt trees, you'd need to make it so that a Pokemon may/may not appear.
And then if you REALLY wanted to do it properly, you'd need to make it so that your headbutt tree tile calls this type of script automatically when the player presses the A button on it.
http://www.pokecommunity.com/showthread.php?t=194241
That patch, I believe, would be a starting point. However, it would be a pretty drastic move, if you JUST want to implement Headbutt trees, as this patch erases an awful lot of things. That's not really ideal for someone learning to hack.
Anyway, long story short, I know (to some extent) what you'd need to do to put a headbutt tree in your hack, but I don't know exactly how you'd go about it. Still, I hope this was helpful!