Can a WordPress blog be entirely hosted on a CDN if cached?

Yes, making static version of WP blog is definite possibility.

I would advise against using caching plugins for that — it’s not their purpose and a lot of their functionality tends to depend on elaborate rewrite rules, which you won’t be able to replicate on CDN.

There are dedicated WP solutions (none that I have tried), but using generic tool for making static copies might serve you better (this kind of software has a long history and likely many less kinks than something WP–specific).

The permalinks would work, but only so far. Natively WP works by having rewrite process turn “fake” directory structure in the link into data. There is no such step in static sites — actual real directory structure is created and used (with .html files inside). Don’t forget that any dynamic links won’t work.

My personal opinion is that (depending on your publishing requirements) it might be better to consider solution inherently meant for static sites, rather than WordPress. Such engines actually going through yet another surge of popularity right now (static goes in and out of webdev fashion pretty cyclically every few years).