Blowfish: hex digits of pi used for s-boxes? Preface: here is the official site for the Blowfish algorithm:

http://www.schneier.com/blowfish.html

The Blowfish algorithm uses an s-box, which consists of hex digits of pi (found here: http://www.schneier.com/code/constants.txt). I'm guessing that this s-box serves a very similar purpose to the s-box in AES (right?)

However, at the bottom of that file, there is a smaller box called p_array or parray or something. I have no idea what it does! Also, is there some sort of significance to why the hex digits for pi are used, and not some random values?
Yes.  Blowfish's S-boxes serve a similar purpose as AES's S-box.

The P-array is used as part of the key schedule, to make sure that each round is different (this helps prevents slide attacks and related-key attacks).

I recommend you read the official specification of Blowfish and Wikipedia's article on Blowfish for more about the design rationale for Blowfish.

The use of digits of pi is a "nothing up my sleeve" number.

Bruce Schneier (the algorithm designer) wanted to use a random number.  For Blowfish, it basically doesn't matter what number you use, if it is random.  However, Bruce also wanted everyone to be able to see that he didn't somehow pick some very special choice of number that introduces a trapdoor.  The digits of pi are basically random-looking, and cannot be controlled by Bruce.  Therefore, they make a standard choice for a "nothing up my sleeve" number.

See also How to choose constants in a cryptographic function? and Wikipedia on nothing up my sleeve numbers.