Hi Adib,
I faced with same issue like you, but I couldn't find any best practice for that. You can implement it by adding custom field on page type 'include in header'. In MVC project you can create Master controller and trigger it from Layout like @Html.Action("Navigation", "Master"). In that action you can retrive all data from kentico that you need to show (like pages where 'include in header' is checked). As performance improvement, you can cache all data that you retrieve from kentico.