Avoid PLE drops while performing DELETE operations
For one particular table Which has the biggest(in terms of size)
  records it take around 3-5 hours to delete all 2 millions of old
  records


we need more detail like table structure along with data type and index details.

Try opposite method.

Keep data of last 30 days and truncate old table.

For example (Step 1),


declare @CurDate datetime=getdate()

select * 
into NewTable
from ExistingTable 
where datecol &gt;= @CurDate and datecol &lt;= dateadd(day,-30,@CurDate)




Rename old table to anything unique or drop table as per requirement. In fact drop table only after testing and approval from other.
Rename new table to existing table