There is an option in many terminal programs or ICs to set 1 stop-bit, 2 stop-bits or 1.5 stop-bits. Is there any standard that says the RS-232 can have only 1/1.5/2 stop-bits but can't have 0.5 or 3 stop-bits, for example?
Nothing, there is no such standard that says how data should be sent over an RS-232 interface.
RS-232 is only a physical, mechanical, and electrical standard; it does not even define a protocol for to sending bits on the data wires. It also does not define at what rates data should be sent, other than it is intended for bit rates up to 20 kbps, and the electrical specifications give a theoretical limit of about 120 kbps.
So you can literally use any protocol you want over an RS-232 interface; it is not even limited to the asynchronous start-stop protocol of a UART. Anything goes as long as the two devices are compatible with each other and communicate within the limits of the specifications.
However, most often a UART or USART is used for serial comms over an RS-232 interface, so what options you have available in practice is based on limitations and features of the UART or USART your system has.
UARTs and USARTs themselves are not standardized: they are usually programmable and support at least the most common options typically found on most devices, but sometimes also some less common features such as 0.5 stop bits needed for communicating with smart cards or using 9 data bits in a frame.
In asynchronous UART communications - as typical over RS-232 - the only real constraint is that the transmitter must be able to send at least as many stop bits as the receiver needs. That's all.
If the receiver is configured to expect 1 stop bit, the transmitter can be configured for 1, 1.5, 2, 10, 1000 stop bits. What's 1000 stop bits, you ask? A long pause between sending two bytes. Stop bits are idle state, after all, and idle state is what's on the line when no data is being transmitted :)
I'd expect no device to allow receiving just 0.5 stop bits, but many devices will be fine with maybe 0.6 or 0.7 stop bits, depending on how they sample the RX line, and what's their clock frequency as compared to that of the transmitter.
But, in general, I've not seen "0.5" stop bits as an option. 1 is the minimum, and you can always transmit 2 and remain compatible with all receivers that have the same baud rate and same number of data bits.