how to find that there is a "Promoted to front page" node and load it in page.tpl.php?
You mean a custom function?

I did a lot of this for a current project where we needed short little lists of nodes with different criterion all over.  I found Views bulky and overkill in some places, so I added small functions to template.php.  They're really just simple SQL SELECT statements.

For example:

function home_channel_list($title, $tids, $limit){

    $query = "SELECT t1.nid, MAX(t1.vid), t1.title, UNIX_TIMESTAMP(t2.field_pubdate_value) AS pubdate
                FROM {node} t1
                    JOIN field_revision_field_pubdate t2 ON t1.nid = t2.entity_id AND t1.vid = t2.revision_id
                    JOIN field_revision_field_channel t3 ON t1.nid = t3.entity_id AND t1.vid = t3.revision_id
                WHERE t3.field_channel_tid IN(".$tids.")
                    GROUP BY t1.nid ORDER BY pubdate DESC LIMIT ".$limit."";

        $result = db_query($query); 

        // Container div and title
        print '&lt;div class="home-channel-block"&gt;&lt;h2&gt;'.$title.'&lt;/h2&gt;';

        // Article list
        foreach ($result as $record) {
            $mypubdate = format_date($record-&gt;pubdate, 'custom', 'F j, Y, g:iA');
            print '&lt;div class="home-channel-title"&gt;&lt;a href="?q=node/'.$record-&gt;nid.'"&gt;'.$record-&gt;title.'&lt;/a&gt;&lt;/div&gt;';
            print '&lt;div class="home-channel-pubdate pubdate"&gt;'.$mypubdate.'&lt;/div&gt;';         
        }

        // Clear and close the container div
        print '&lt;div class="myclear"&gt;&lt;/div&gt;&lt;/div&gt;';
}