On my current project we have been implementing multiple apps for different areas of the business so they only get access to what they need to, and rather than butcher the sitemap we decided to go down the apps route (Sales/ClickD/Customer Engagement)
Based on the feedback we received from the project team was that "First thing in the morning there are too many clicks and it was difficult to remember which icon they needed to select to get into Dynamics from their Office 365 account.
A quick way to resolve this is by setting a default app - This can be done in your personal settings within the Dynamics Home Portal page. Follow this guide to set it up
There is also a great blog from Daniel Hesketh on hiding the default app which can be found here
Can this setting be updated via code?
At the moment it can't be dont via code or group policy