PL/I was a popular choice, as it was concise
NOT! (not concise. Colleges taught subsets like PL/C. The complete PL/1 language was huge in ways that only IBM would do for their flagship language on their biggest mainframes.)
for PIC, it'll depend a lot on whether you're talking about the 8bit PICs (PIC10, PIC12, PIC16, PIC18), the 16bit PICs (PIC24, dsPIC30, dsPIC33) or the 32bit PICs (PIC32) The later are compiler-friendly and have versions of gcc as well as proprietary compilers. The former are obnoxius, but have a significant number of proprietary compilers of widely varying prices. Many are "free" for evaluation or size-limited programs with "limited" optimization. I've used
http://www.bknd.com/cc5x/ and been pretty happy with it.
Avoid (IMO) the free compilers that have "NO optimization" (like the freeware PIC16/PIC18 compilers from Microchip themselves, unfortunately.) They produced really, really, awful code of the sort you might expect from an undergraduate compiler student doing their first project, where everything is about parsing and "code generation" is an afterthought. The kind of code that assembly language folks point to an say "See! Compilers suck!" (Of course, this is subject to the marketing whims of the vendor. At any moment they could decide that the freeware versions should support "some" optimization, which would change the equation. Bah!)
Pascal and Basic compilers are also available, and if "free" or "open source" is more desirable that a standard language, there is "JAL" ("Just Another Language"), which is sorta between C and Pascal.