Is there a way to have chunks of a page’s content expire?

If you don’t mind wrapping your content in Shortcode then you can easily have them hidden after a specific time. Granted you don’t cache the page for longer than needed.

Wrap your content in [content_expires] shortcodes. Time should be based on your server’s timezone.

[content_expires]NEVER Expires[/content_expires]

[content_expires date="2016-10-25 00:00:00"]PAST[/content_expires]

[content_expires date="2116-10-26 04:20:00"]FUTURE[/content_expires]

Then add the shortcode handler.

function content_expires__shortcode( $atts, $content = null ) {

    $a = shortcode_atts( array (
        'date' => '', // "2010-01-21 00:00:00"
    ), $atts );

    // expires date
    $date = $a[ 'date' ];

    // not set, so we're fine
    if ( empty( $date ) ) {
        return $content;
    }

    // today's date
    $today = date( "Y-m-d H:i:s" );

    // only future time is allow. In the past will not be returned.
    return $date > $today ? $content : '';
}

add_shortcode( 'content_expires', 'content_expires__shortcode' );

Now content will only be rendered if it hasn’t reached the date specified.