In the early 60s ('62 approx.), all four Beatles gave each other similar nicknames. George was "Hazza," John was "Lennie," and I can't remember Ringo's. For some reason, Paul's is the only one that stuck.
I think Anthony's story is closest to the truth - hadn't heard it put that way, but I do believe the nickname's been with Paul for many decades and was used by the other Beatles. Here's a thread with other thoughts:
It's DEFINITELY not equivalent to "Jacko" - that term exists solely because it rhymes with "Wacko" and is used solely as a pejorative. Nobody calls Paul "Macca" to make fun of him - it's an affectionate term used by lots of fans...