Macro to remove rows with data not meeting certain requirements
An interesting learning experience.

Well done for doing the deletion in a backwards loop. Also, well done for declaring all variables.

As you have implied, there is room for some improvement. What I suggest below may not increase speed, but should at least help with maintainability and readability.

Three different ways of accessing a sheet

You are using three different ways of accessing a sheet: index, ActiveSheet and name. Each has their uses and are valid, but mixing methods in a single routine makes it a little more confusing to read.

You haven't identified how the routine is called, and this makes a difference on the applicability of ActiveSheet. How can you guarantee that the active sheet is the one that you want to clean up?

You also reference your FirstRow and LastRow from a fixed sheet, not your ActiveSheet - how can you be sure that they are correct?

Speed up routine

You set your calculation mode and attempted to turn off screen updating. But you don't turn them back again at the end of the routine. 

Also consider setting .EnableEvents = False so that you do not fire events every time you delete a row.

Tweaks

Consider using a Select Case to identify a valid row. I have an example in the code below.

Consider creating a Union for each row that you find and want to delete. Then use this union to delete all the rows at once, instead of one at a time.

Put your date value into a variable, rather than accessing the cell each time in the loop. This will save some time and accessing the Excel cells/ranges is relatively expensive.

Perhaps this code?

Sub Remove_FutureRenewals()
    Dim Firstrow As Long
    Dim LastRow As Long
    Dim Lrow As Long
    Dim CalcMode As Long
    Dim ViewMode As Long
    Dim SelectedSheet as Worksheet
    Dim BaseDate as String

    Set SelectedSheet = ActiveSheet ' addresses any change to ActiveSheet while routine is running. 
    BaseDate = Format(ThisWorkbook.Worksheets("Date Calc").Cells(5, "A").Value, "YYYYMMDD")

    Firstrow = SelectedSheet.UsedRange.Cells(1).Row 
    LastRow = SelectedSheet.Cells(ThisWorkbook.Worksheets(2).Rows.Count, "A").End(xlUp).Row

    With Application
        CalcMode = .Calculation
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    With SelectedSheet 
        For Lrow = LastRow To Firstrow Step -1
            Select Case .Cells(Lrow, "E").Value ' always be explicit.
                Case "120", "90", "60" 'etc
                    'If Format(.Cells(Lrow, "E").Offset(0, -1).Value, "YYYYMMDD") &lt;&gt; BaseDate Then
                    If Format(.Cells(Lrow, "D").Value, "YYYYMMDD") &lt;&gt; BaseDate Then
                        .EntireRow.Delete
                    End If ' Better practice to use a full If-The-Endif block rather than a single line
            End Select
        Next Lrow
    End With
    With Application
        .Calculation = CalcMode 
        .ScreenUpdating = True
        .EnableEvents = True
    End With

End Sub


This code still has a lot of "magic numbers" in it, but should give you some ideas on where to go next.