Can a Script node using OSL have a checkbox?
There is a thing called 'string widget' (metadata syntax), which may be of some interest. The OSL specs suggest it in page 18 chapter 4, but that syntax may not be implemented in cycles. I haven't seen any examples of its usage. (Except for vray - 3dsmax docs)

if Implemented from the specs, it would look something like this:

int clamp = 0
    [[ string widget = "checkBox"]],


The implementor, Dingto, confirmed on IRC that metadata is not supported - yet.