Para adicionar um objeto na lista, ele terá que estar instanciado (você não pode inserir uma coisa que não existe dentro da lista…).
Acredito que em seu caso, o melhor seria ter estes dados dentro de um banco de dados.
Assim, você teria uma entidade (Justificativa) e seus atributos.
Para aprendizado, sugiro a criação de um DAO (Data Access Object), em seu caso, uma classe JustificativaDAO, que faria as operações de inclusão, busca, edição e deleção de suas justificativas dentro do banco de dados.
Já para a parte do RichFaces (o dataTable), você pode usar um a4j:commandLink com uma taglib <f:setPropertyActionListener> para alterar somente a justificativa desejada.
Por exemplo:
<rich:dataTable value="#{seuBean.getListaJustificativa}" var="jus" id="tbljustificativas" iterationStatusVar="it" width="100%">
<rich:column>
<f:facet name="header">
<h:outputText value="DESCRIÇÃO" />
</f:facet>
<h:outputText value="#{jus.descricao}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="STATUS" />
</f:facet>
<h:outputText value="#{jus.status}" />
</rich:column>
<rich:column>
<a4j:commandLink value="ALTERAR" render="editGrid" execute="@this" oncomplete="#{rich:component('editPane')}.show()">
<a4j:param value="#{it.index}" assignTo="#{seuBean.currentJustificativaIndex}" />
<f:setPropertyActionListener target="#{seuBean.justificativaEditada}" value="#{jus}" />
</a4j:commandLink>
</rich:column>
<rich:dataTable>
<rich:popupPanel header="Detalhes da justificativa a ser editada:" id="editPane" domElementAttachment="parent" autosized="true">
<h:panelGrid columns="3" id="editGrid">
<h:outputText value="Justificativa a ser editada:" />
<h:outputText value="#{seuBean.justificativaEditada.descricao}" />
<h:panelGroup />
<h:outputText value="Digite a nova justificativa: " />
<h:inputText value="#{seuBean.justificativaEditada.descricao}" />
</h:panelGrid>
<a4j:commandButton value="Salvar" action="#{seuBean.onSalvarClick}" render="tblJustificativas" execute="editPane" oncomplete="if (#{facesContext.maximumSeverity==null}) {#{rich:component('editPane')}.hide();}" />
<a4j:commandButton value="Cancelar" onclick="#{rich:component('editPane')}.hide(); return false;" />
</rich:popupPanel>
Não se esqueça de colocar o nome de seu Bean (seuBean, no exemplo).
Não se esqueça também de implementar a ação “onSalvarClick” dentro do Bean.
A ação onSalvarClick irá chamar seu DAO para gravar a alteração dentro do banco.
A variável currentJustificativaIndex é do tipo int e deve existir dentro de seu Bean.
A variável justificativaEditada é do tipo JustificativaModel e também deve existir dentro de seu Bean.
Lembre-se: não é possível adicionar algo que não existe dentro de uma lista, logo terá de existir as justificativas.
Espero ter ajudado.