I'm wondering if there is a way to create a top "margin" (not sure what else to call it) within a block of copy? I've tried playing with the baseline shift but there is only so far I can shift the text before it becomes extremely annoying to edit.
Margin is a property of the text frame (Object > Text Frame Objects). You could make an object style which sets the margin and also calls out the paragraph style.
Margin is really a page property. The term you are looking for is Inset, or possibly indent (which can be applied at the paragraph level onthe left or right of a paragraph to make it narrower thatn the text frame). It's not quite clear to me waht your page looks like, but if you right-click on a text frame you can select Text frame options, and experiment not only with frame insets, but also the first baseline offset, to affect the amount of space at the toip of the frame. Space between paragraphs can be added as either Space Before or Space After.
Baseline shift should only be used to move isolated bits of text small amounts to align better with the surrounding text.