You could insert a large position gap between sentences (say 100;
something larger than the largest sentence in #words), and a still
larger position gap between paragraphs (1000; larger than the largest para).
Then within-sentence search is just (A B)~100 and within-paragraph
search (A B)~1000
One simple hack which may or may not meet your objectives:
1) index each paragraph as if it were a document (this would then not allow
Boolean across paragraphs, which could be a problem)
2) set the position increment gap to, say, 100 and then index each sentence
within the paragraph as another