As Brad said in his comment above, you can add a text box that allows you to define the width and height of the box, and any text will automatically wrap inside that.
You can find "Rectangle Text" from the Text dropdown on your Drawing toolbar
Add your text box, set your frame to no border (unless of course you want a border around your text), and set the textbox to the dimensions you require. This box can be used by arcpy the same way as any other text element.
The Title and Text options from the Insert menu will just resize the text if you try to change the size of the textbox, but the Rectangle Text box allows you to set dimensions.
EDIT: This code snippet is what I used to test:
mxd = arcpy.mapping.MapDocument("CURRENT")
elm = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "Company")
if elm.name == "Company":
elm.text = "This text is far too long for one line and could go off the edge of the page unless the text wraps within the text box!"