Filter nodes by date ( excluding year ) show upcoming/previous based on today i have content type called Race. This races happens every year so i want to have a page that show latest 5 upcoming races and past 5 races.

Is there a way that i can disable year in date api when adding a new race so that only month and day are taken for reference?

And not really sure how to setup views to filter this?
I am not sure how you are displaying your date, but if it is 'post date' then in Views on the lower left column choose 'Sort Criteria' and search for date. I will have multiple granularity and you can choose to filter by month.

If you have a text field where you manually type the date associated with the content, then you can use the 'Sort Criteria' and sort by that specific field in 'ascending' or 'descending' order. 

If you want to keep the 5 newest and the older separate, you might need to create two different blocks and display them next to each other.

Finally you can do a 'Filter Criteria' by date and select a range of' 'Is greater than or equal to' a specific time period. For example from today to 5 months ago will only display content created within that month period, and anything beyond 5 months will not be displayed.