First of all, this is a difficult question to answer because each country has different laws/work habits.
Secondly, I don't think paying for a days of work makes sense for programmers.
Imagine, you hire a photographer. That job would perhaps take an hour or two, maybe more. But because the photographer has travel time to the client, he/she can at most do one or two jobs pr. day. Therefore it would make sense for a photographer to bill for half a day, or a full day. In that case it makes sense to talk about how much it costs to hire a photographer for a day.
The majority of work I perform as a freelance programmer don't follow this pattern, as is the pattern of most of the freelance programmers people I know. The jobs I get hired to do takes from a week to many months, and I sit regularly at the client's office (and I do not charge for travel time). Therefore it makes much more sense to bill by the hour. That way, it is much easier for you to work extra (and get compensated) if you are pressed for time, and you can leave early (and the client doesn't get ripped off) if there is little work to do.
Sometimes the client could ask you to take part in a meeting at different location, but that is in my experience not that common.
Generally, the contracts I have been presented with, would state that I should get the client's approval if the amount of work would exceed some monthly threshold (about 160 hours of work).