In the early
days of the Mac, I played briefly (long enough to walk
 away from) a compiler that had 16 bits as sizeof(char) 
 MPW still hosts a 68K
compiler with that property; at least until
 PowerPC it was a common runtime model.  It's not really a big deal to
 write C code such that this would not be a problem, and certainly no
 trickier than being 32/64 portable. 
 
Depends on what you're doing.
I've written plenty of code for which 256-entry tables are totally
practical but 65536-entry tables are somewhere between difficult and
completely out of the question.  (And even without such tables, related
remarks apply; for example, enumerating all pairs of chars is often
reasonable for 8-bit chars but utterly out of reach for 16-bit chars.)
/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse at 
rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B