Just to expand on what bennyj said, here's my understanding and experience with Locale.
It evaluates each situation separately. If ANY situation's conditions are true by itself, it's settings get applied. If TWO OR MORE situations both affect the same setting, the one with higher priority (higher in the list) wins the tiebreaker. All conditions within a situation need to be active for it to get applied, though.
So if you have one situation that say set your ring tone to FOO if you're at a location, and another sets it to BAR if it's a certain time, then if the location one is higher on the list your ringtone goes to FOO.
Here's how the OP can use this knowledge to set up the scenario she describes. Create 3 situations:
Situation 1 (Work): Highest priority of the three, explicitly includes the volume setting you want for work
Situation 2 (Home at Naptime): Middle priority of the three, has TWO conditions, location and time, sets volume lower (and whatever else)
Situation 3 (Home): Lowest priority of these three has ONE condition, location, and sets whatever default home volume you want (and whatever else)
So what you want is ONE situation with TWO conditions. All of the situations get evaluated by themselves and don't exclude others, but WITHIN a situation all of the conditions have to be true for the settings to get applied.
So if you did a separate situation with time only it would also affect you at work, at the store, or wherever. If, however, you do one condition with location and time, you can do exactly what you describe. You can have more than one situation with the same location.
If you think of it as each SITUATION getting evaluated one at a time as true or false -- applying the settings when true, and as going through the list from the bottom of the list to the top, it makes sense. So the top one "wins" because it is the last one to be applied. Each situation, however, is only true if ALL its conditions are met (location/time/orientation/on bluetooth/docked/on one SSID/whatever other plugins you have). No settings get applied if any one of the conditions isn't met, but all of the settings get applied if all of them are true. At the end of it all, if multiple situations applied the same setting, the last one stuck because it got applied after the others.
Make sense?