Substracting the two datetime fields will give you the amount of days between the 2. So if there's 1 day and 12 hours between the datetime values, it will return 1.5 (provided you add a decimal to the formula field).
However, what you want is a number of working days. So in that case, if the difference is e.g. 8 hours, the formula will return 0.3(333333).
If you limit the exact times that can be selected to e.g. start/mid/end of workingdays you could translate the formula outcome to a display value of 0.5, 1.0, 1.5 etc.. However, that's quite tricky and won't support 1 hour off etc.
I'd recommend to create 4 fields: 2 date fields with start/end date and 2 picklist fields with the start/end hour.
Then the formula field would first substract the date fields and then add the difference between the (numeric value of) the 2 picklist fields to finally come up with the amount of workingdays off. Like this:
Formula field 1: NumberOfDays is EndDate-Startdate.
Formula field 2: NumberOfHours is EndHour-StartHour (can also be negative!)
Formula field 3: NumberOfDays+((EndHour-StartHour)/8) (8 is the number of working hours in a day)
You could also combine all of this in 1 formula field.
Alternatively you could use the formula displayed here to calculate the amount of working hours between the datetime fields and derive the number of days from that: http://help.salesforce.com/HTViewSolution?id=000089863&language=en_US
I hope this helps. If you have any additional information/question, add them as comments and we can further improve the answer.