Again, there’s nothing built-in for this, and how much you wish to automate will depend a lot on your comfort level with the REST API and custom scripting.
As a starting point, you might set up a custom Web Report to report on these. From Explore Data -> Custom, you could create a custom report with this tag to create a table of only the ‘old’ accounts:
<?relevance table "border=all" of (tr of concatenation of tds of ("name";"link"; "last login") & concatenation of trs of ( (td of name of it & td of link of it & td of (last login time of it as string | "none")) of bes users whose (now - last login time of it > 45 * day)) ) ?>
In the Preview, that generates a table that should look something like

You can save that as a Custom Report, and then configure it to run on a schedule. From the ‘Report List’, find your new custom report and in the ‘Scheduled’ column click ‘No’ to schedule the report

You can set up a daily schedule, check the box for ‘Only archive or send mail when the report changes’, and you’ll get a new message as each account hits its 45-day mark.
I do see a pretty serious limitation here, though - I don’t see any properties for ‘bes user’ we can use to see which accounts are already disabled in the Console. Please submit an ‘Idea’ for that, or I’ll end up submitting one myself (but it may take a while before I get 'round to it).