Are such sentence constructions acceptable?
The structure of the following sentence struck me as odd.
So large was his mouth that he could fit his entire fist inside—an antic that drew hysterical laughter at drinking bouts during the bloody and tumultuous years he ruled the dangerous streets of the Imperial Capital.
Are such constructions grammatically correct? I have always thought that in such sentences, in the place of the em dash (or sometimes a comma), an appropriate relative pronoun should be used (in this case 'which was').
If such an usage is acceptable, could the em dash be replaced with a comma?
As pointed out in the comments, an appositive doesn't need (or often even want) a relative pronoun. I want to add that in many cases where you're allowed to drop a word or phrase, the effect of not dropping it makes you sound robotic, and this is supposed to be a humorous sentence.
Further, in this case, there really shouldn't be a relative pronoun. It is a bit of an odd construction. While it's clear what the antic refers is, it's not clear what the antecedent of a relative pronoun would be. Before the dash, we know only that he could put his fist in his mouth, not that he did. But it wouldn't be a correct usage of the word "antic" to apply it to a hypothetical action (at least not without a more hypothetical mood, and the phrase after the dash is thoroughly indicative). So this is something actually a little bit different from an appositive, and there isn't really a place for a relative pronoun here. I think that's one reason the author used the em dash: so you don't notice that the change in mood.
But there are reasons beyond the modal shift to prefer an em dash over a comma here. One effect of the dash is to provide more separation between the two parts of the sentence, which have subtly different topics (his body vs. his habits). And having a more definite separation gives the author a bit more room to flesh out the sentence without it feeling too long or hard to follow.
So yes, this is an odd sentence. But there doesn't need to be a comma, and there definitely shouldn't be a relative pronoun. It's idiosyncratic, but it's good usage.