Okay for USB to send data without specific OUT command first?
You don't get to decide OUT or IN, the host does.  This question therefore makes no sense.

If you have something to send to the host, you have to wait for a IN token.  The hardware SIE takes care of this automatically though.  You set up the buffers with the appropriate descriptors, and wait for the hardware to transfer the data.

On this part, you can even set up two buffers such that the hardware transfers into or out of the first, then automatically swtiches to the second when the first one gets full/empty.  This is called "ping pong buffer mode" in the datasheet.

Before doing a USB project, you really should read the USB spec first.  Without that, you'll be forever poking around in the dark wondering why certain things were done certain ways and whether they are really necessary.  The USB SIE chapter in the datasheet gives reasonable background, but it's no substitute for the USB spec.