The value of a globally unique identifier (GUID) can be represented as a 32-character hexadecimal string, but is usually stored as a 128-bit (16 byte) integer.
I suspect that the smallest possible QR code that can store such 128-bit values is to specify "Binary/byte encoding" (which can store any 8-bit bytes)
and store the 16 bytes directly.
That encodes with 1 pixel per bit, 8 pixels per byte (plus the standard overhead bits).
I'm pretty sure that all other valid QR encodings will use at least 1 pixel per bit and have the same standard overhead.
So you're not going to get a smaller QR code with any kind of Base64 or Base45 or Base36 or Base32 conversion.
Most of the QR codes I've ever seen that encode URLs use that same "Binary/byte encoding" in order to support lowercase letters.
QR codes that use "Alphanumeric encoding" are less common in my experience -- when used to encode URLs, they decode to all-uppercase URLs (since they can store only the 45 symbols 0–9, A–Z [upper-case only], space, $, %, *, +, -, ., /, :).
The "11 bits per 2 characters" is pretty clever in many situations, but it doesn't really help when encoding GUIDs.
Have you seen http://www.younoodle.com/startups/barcode_guid or Wikipedia:spime ?