The most reliable (and completely non org-mode) way to do this involves indirect buffer. Here is a blog post explaining indirect buffers in depth. Basically, an indirect buffer displays the contents of a section of another buffer.
(defun narrow-to-region-indirect (start end)
"Restrict editing in this buffer to the current region, indirectly."
(interactive "r")
(deactivate-mark)
(let ((buf (clone-indirect-buffer nil nil)))
(with-current-buffer buf
(narrow-to-region start end))
(switch-to-buffer buf)))
, , . - ( ) .