Solved it. PersistStateInCookie was causing the non selection. I removed the PersistStateInCookie option (thus causing menu to fully collapse on Page_Load), loop through all items using GetAllItems() collection and where url matches item's NavigateUrl property, i select the item and ExpandParentItems(), pretty much creating a SingleExpandedMode instance.
Setting both parent item and first child item's NavigateUrl property to the same url, the correct page loads and selects the first child item in the parent item's items collection as it was later in the collection. I've read about FindItemByUrl but was unclear how to implement it in the foreach statement.
This works, but is there a cleaner, more optimized way to do this?
Thanks!