After thinking about it for a while, I am personally not in favor of adding this.
It is not a black & white argument, but a number of things that make me lean on that resolution.
I have grepped the Rails code base, which has +600 occurrences of this assertion and I believe listing the contents of the parent directory would be noisy and wouldn't help much in practice. Doesn't look like a good trade-off to me. If the file was not found, in most of the cases that's the deal, it wasn't generated. There is no point in listing siblings, running edit distances, or whatever, *by default*.
It would also introduce a lack of symmetry, to say it somehow, in the sense that then the implementation of `assert_file` would need to deal with the possibility that the parent directory doesn't exist either, or that the file exists but the test suite doesn't have enough permissions, for example.
I think the failure message is good as-is most of the time, and as such it is a good default.
If freezing time doesn't remove the "dynamic" bit of your use case, I believe it is a situation in which you need to manually print your listing in the test to debug the problem.