Você pode usar gradientes de fundo para esse efeito. Para o seu exemplo, basta adicionar as seguintes linhas (é apenas tanto código porque você tem que usar prefixos de fornecedor):
background-image:
-moz-linear-gradient(top, #000 10px, transparent 10px),
-moz-linear-gradient(bottom, #000 10px, transparent 10px),
-moz-linear-gradient(left, #000 10px, transparent 10px),
-moz-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-o-linear-gradient(top, #000 10px, transparent 10px),
-o-linear-gradient(bottom, #000 10px, transparent 10px),
-o-linear-gradient(left, #000 10px, transparent 10px),
-o-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-webkit-linear-gradient(top, #000 10px, transparent 10px),
-webkit-linear-gradient(bottom, #000 10px, transparent 10px),
-webkit-linear-gradient(left, #000 10px, transparent 10px),
-webkit-linear-gradient(right, #000 10px, transparent 10px);
background-image:
linear-gradient(top, #000 10px, transparent 10px),
linear-gradient(bottom, #000 10px, transparent 10px),
linear-gradient(left, #000 10px, transparent 10px),
linear-gradient(right, #000 10px, transparent 10px);
Não há necessidade de marcação desnecessária.
Se você deseja apenas uma borda dupla, pode usar contorno e borda em vez de borda e preenchimento.
Embora você também possa usar pseudoelementos para obter o efeito desejado, não o aconselho. Pseudo-elementos são uma ferramenta muito poderosa que o CSS oferece, se você os "desperdiçar" com coisas como essa, provavelmente irá perdê-los em outro lugar.
Eu só uso pseudoelementos se não houver outra maneira. Não porque sejam ruins, pelo contrário, porque não quero desperdiçar meu Coringa.