Sending text: Easy-Peasy! Text is just a limited set of the 256 byte values that can be sent.
Sending text with a variable length: No so easy-peasy. The issue is that BLE messages work best with a known length. However, having varying lengths are possible. You can send a single BLE 5.0 ATT message with up to 244 bytes.
If your maximum text message can be under 244 bytes, great! If you need more there are two ways I'm aware of.
You can break up the message into multiple 244 byte packets or there is a messaging method that sequences the messages to know if data in the sequence is missing. This method is theoretically better but may reduce the payload and take a small amount of time longer to send.