Let's first look for the basic tags. From 6.00pm to 10.00am, the situation can be described as
highway = pedestrian
+ bicycle = yes (optional, because it is a subclass of vehicle)
+ vehicle = yes
The rest of the time, we need a value for "permit holders only". We could choose the suggestion I'll chose *=private for the rest of the this answer. (A more precise value might be *=license as proposed by ["License" proposal][1] proposal][1], but it isn't widely used and tag this as *=license. very similar to *=private for most applications.) The resulting tags would be
highway = pedestrian
+ bicycle = yes
+ vehicle = license
private
So what we need is a way to switch the vehicle key's value depending on the time. For this purpose, I recommend [Extended conditions for access tags][2]. Using this proposal's syntax, we end up with
highway = pedestrian
+ bicycle = yes
+ vehicle = license
private
+ vehicle:(18:00-10:00) = yes
The proposal's syntax is more powerful than `hour_on`/`hour_off`, can be used on a per-tag basis and is clearly defined: Using conditions, there's no doubt that the restrictions implied by highway=pedestrian are not affected, and neither is bicycle=yes.
Also note that
...
+ vehicle = yes
+ vehicle:(10:00-18:00) = license
private
would have the same meaning - however, a router ignoring the time-based restrictions will act differently depending on which one you choose.
[1]: http://wiki.openstreetmap.org/wiki/Proposed_features/License
[2]: http://wiki.openstreetmap.org/wiki/Proposed_features/Extended_conditions_for_access_tags