Somehow you should be able to filter out only those that conform to the ISO weekday standard of 1,2,3,4,5 (for Monday through Friday only) and exclude those that are not day of week 6 or 7.
ISO definitions, where 1 is Monday and 7 is Sunday. But Python itself uses 0 - 6, as some other languages do (just in case you want to experiment with Jython as your expression language of choice rather than GREL)
I just do not see an easy way to do that currently in GREL. Hacking with Jython or Clojure as the expression of choice might be easier for you.
where you could offer a bounty ($ money) for us to hack on that a bit to get an additional parameter for diff() function to add a boolean flag (Y or N) for "include iso weekdays or not".
So your expression would potentially look like this:
diff(cells["DateOUT_date"].value, cells["DateIN_date"].value, Y, "days")
Of course, there also might be more of a benefit with including
JodaTime into this conversion of hacking on diff() to support multiple kinds of date diff usage.