Is there a top coat I can apply that will help the wood maintain its natural color, or at least slow the graying process?
Boiled linseed oil, despite not providing much water-resistance to wood when applied in the usual way associated with furniture, will do much to slow the weathering to that natural grey/silver colour if applied heavily and re-applied periodically. However it will significantly colour the wood so it won't exactly end up its natural colour. BLO is used widely as the surface dressing for log cabins for example and with regular upkeep they stay that characteristic yellowish colour for many years.
Tung oil is claimed to provide better weatherproofing than linseed oil, its long use as a wood finish for Chinese sailing vessels often being cited as evidence. However I've never actually seen any comparative testing results so I take those claims with a pinch of salt, although it does seem that it's at least equal to BLO in some real-world examples of use.
Another option is a marine coating of the type that would be used to protect exposed woodwork on a yacht, although I'm not sure if the glossy surface would suit. This includes classic spar varnishes, which also need some upkeep over time (less frequently than BLO) and will also colour the wood significantly because of their high oil percentage. The best option here, both in terms of having a lighter colour and superior long-term protection, is an epoxy coating but this seems a bit overkill for a mailbox post; these are significantly pricey and other applications for the remainder of the product might be few and far between.
A deck sealer would seem to be an ideal choice for you. These are widely available and relatively inexpensive, and if they can provide good protection to wood surfaces sitting horizontally — with maximum exposure to light and rain — then vertical surfaces such as a post should pose little challenge to them.