Olá @sgrandini!
Sim é possível!
Veja bem, um CPF (sem formatação, conforme está no seu banco) possui até 11 caracteres ; um CNPJ (sem formatação, conforme está no seu banco) possui até 14 caracteres.
Caso você os recupere com menos caracteres, terá de colocar zeros à esquerda até que se atinja o tamanho esperado para cada um.
Feito isto, você precisa pegar este valor recuperado do banco de dados, e com zeros à esquerda (se necessário), e aplicar a formatação desejada.
Você pode escolher fazer a formatação no seu backend e jogar o valor formatado para a tela, ou então receber o valor sem formatação na tela, e, no carregamento da página (onload, por exemplo), realizar a formatação com javascript (veja o codigo abaixo, utilizamos o método “.replace” de uma string para realizarmos a formatação; o regex pega as partes da string, e depois aplica os separadores.
É um código apenas para você ter uma idéia 
var valorSemFormatacaoCPF = “[telefone removido]”;
var valorFormatadoCPF = valorSemFormatacaoCPF.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})$/, “$1.$2.$3-$4”);
var valorSemFormatacaoCNPJ = “11222333444455”;
var valorFormatadoCNPJ = valorSemFormatacaoCNPJ.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, “$1.$2.$3/$4-$5”);
Espero ter ajudado.
Poste seus resultados!