I hope I’ve understood your question correctly.
As you probably gathered, if you are in the visual editor, hitting return creates a new paragraph, but hitting Shift-return creates a line break.
A couple of possible solutions:
-
A very basic one. You should be able to make specific indents with a mixture of lines with line breaks and ‘non-breaking space’ entity reference. The non-breaking spaces would need to be added in the code editor as opposed to the visual editor. The entity reference code is (or for really really old browsers the numeric code is   but I don’t think you have to worry about this anymore!). This would give you the flexibility to vary the size of the indents
-
If your indents will all be the same size (i.e. it’s just that some lines will have it and some won’t), my suggestion would be to just let WordPress put paragraphs in for each line (that is, just hit return for a new line). In the visual editor it will be double spaced. But then add a style to your stylesheet to remove the top and bottom margin and padding from paragraphs (preferably contextually – e.g.
.poem p {margin:0; padding-top:0;padding-bottom:0}
Note I’m only touching the top and bottom padding in point 2 since the WordPress visual editor applies the indentation by putting left padding on the paragraph.