I was playing around with putting tooltips on the col headers of a grid. Might be worth adding to the code, or at least inspire you to do something cooler

Code:
cm = new YAHOO.ext.grid.DefaultColumnModel(
        [{header:'Index', hidden:true /*width:50*/},
 	 {header:'Name', width: 90, tooltip:'Click to sort'},
         {header:'Code', width: 50},
         {header:'Viewable', width:65, editor:new YAHOO.ext.grid.CheckboxEditor(), renderer:renderBool}
        ]);
        
        
In gridview.js
        var htemplate = dh.createTemplate({
           tag: 'span', cls: 'ygrid-hd ygrid-header-{0}', children: [{
                tag: 'span',
                cls: 'ygrid-hd-body',
                html: '<table>' +
                      '<tbody><tr><td><span>{1}</span></td>' +
                      '<td><span></span><span></span></td>' +
                      '</tr></tbody></table>'
           }]
        });
        htemplate.compile();
        for(var i = 0; i < colCount; i++){
            var hd = htemplate.append(hrow, [i, colModel.getColumnHeader(i), colModel.getColumnTooltip(i)]);
            var spans = hd.getElementsByTagName('span');
            hd.textNode = spans[1];
            hd.sortDesc = spans[2];
            
            
in DefaultColumnModel.js
        /**
         * Returns the tooltip for the specified column.
         * @param {Number} col The column index
         * @return {String}
         */
        getColumnTooltip : function(col){
                return this.config[col].tooltip;
        },
        /**
         * Sets the tooltip for a column.
         * @param {Number} col The column index
         * @param {String} tooltip The new tooltip
         */
        setColumnTooltip : function(col, header){
                this.config[col].tooltip = tooltip;
                //this.onTooltipChange.fireDirect(this, col, tooltip);  // TODO-maybe:
        },