I have a '05 Mazda3 with pretty much stock wheels. I have washed my car a few times, and the first thing, without fail, that gets dirty are my wheels. What is the best protectant I can use to keep them shiny?
Unfortunately wheels will get dirty first - they are closest to the ground so will pick up everything; they also pick up brake dust, which is very sticky.
This means there is no silver bullet here - you need to wash frequently, and apply a wax if you want to slow down the build up of crud.
Use a wheel cleaner solution to dissolve the worst grime and combat oxidation (especially if you have alloy wheels), then a complete wash with soapy water, and complete with a wheel wax.
And do this every week through the winter.
There is actually nothing you can do to prevent your wheels from getting dirty. This is the part of the car that gets into contact with the ground. So dirt is inevitable. The only thing that you can do is use protection to prevent them from wearing out quick due to dirt. After cleaning, always wax them and polish them regularly.