Как насчет функции для добавления подзадач?Этот добавляет крайний срок к подзадаче, если его родитель имеет один:
(defun my-org-insert-sub-task ()
(interactive)
(let ((parent-deadline (org-get-deadline-time nil)))
(org-goto-sibling)
(org-insert-todo-subheading t)
(when parent-deadline
(org-deadline nil parent-deadline))))
Не забудьте привязать его к ключу:
(define-key org-mode-map (kbd "C-c s") 'my-org-insert-sub-task)
Также эти параметры могут оказаться полезными:
(setq org-enforce-todo-dependencies t)
(setq org-agenda-dim-blocked-tasks 'invisible)