Делал похожую вещь - спец. вьюшка показывала "таблицу" (список) записей конкретного вида. Редактировалось через диалог, как у Вас описано. БД не использовал.

Предлагаю попробовать такой вариант:
- временной таблицей будет текст только для чтения (см. пример ObxWrappers)определённого формата
- диалог единый для всех таблиц (работает с фокусированным текстом). Определяет (по "таймеру" - см. реализацию DevInspector) текущую временную таблицу (TextViews.FocusText()) и номер записи по положению в тексте курсора ( см. TextControllers.Controller.CaretPos() )