2 Answers
2

Note that when in context of WordPress "static" front page does not meant static literally. Usually it means page with certain content that stays same, as opposed to index/archive pages primarily filled with multiple posts that move with time.

So whatever dynamic functionality can be added to appropriate template being used for "static" front page just fine.

There's a little trick that might help you. I don't know anything from BuddyPress, so you'll have to adapt the solution as per your need.

WordPress stores the post id of the page which is set as a static front page in an option named 'page_on_front'. Change that option with a value of your choice.

//Hook into init or within your function where you get the dynamic page/post
//Assume the page/post you want to set as front page has an ID = 345
//This check is necessary, if it is not set to 'page' then the latest posts will be shown on homepage
if(get_option('show_on_front') == 'page')
update_option('page_on_front', 345);

It might be better to set the "static" home page using the tools in the WordPress Settings page, and then insert the custom BuddyPress code into the front-page.php template file, which would be used for the site's "static" home page.
–
Pat JMar 28 '13 at 13:42