I guess by definition [webopedia.com] static urls require static pages, unless you want to simply mask your dynamic pages by swtiching to human-readable, SEF links.
If the former (static URIs), you could use wget (or similar) to go a few levels deep and create the static pages and then use rewrites to change "dynamic urls" (at least to outward appearances before being rewritten) to point to your static pages.
I know some people using OSC use wget to create an entire static site every so often. They send spiders to crawl those pages and then rewrite the URIs to send visitors to the latest dynamic version of the page.
Also, you may be interested in the following Contributions
All Categories & Subcategories Page [oscommerce.com]
All Products Page [oscommerce.com]
If you are merely looking for SEF, check out
SEF Link Transformer [oscommerce.com]
Regarding the cahcing, see
I guess the question is what effect are you trying to achieve? In other words, why do you want to do it? That might change the "how".