First off, the behavior you describe is not a redirect but a URL rewrite.
That being said, there's a WordPress option called
page_on_front that is set to the page ID of the static page to be used as a front page. This option's value is only relevant if the option
show_on_front is set to
page (that happens if you set "Front page displays" to "A static page" in the "Reading" panel).
Depending on the page you select from the dropdown below that radio box,
page_on_front is set.
You can however also set options programmatically. The following approach is untested and just a quick idea off the top of my head, but it should be possible to simply set this option to the sticky post's ID and be done with it:
$sticky_id = // set to post ID you want to display
update_option( 'page_on_front', $sticky_id );
Another approach (if this first idea fails) might be to set the front page to a regular static page, assign that page a custom template, leave the page content empty and incorporate a custom loop that grabs the latest sticky post in said page template. That ought to work fo'shizzle.