Is there a way to make a persistent IRC account that I can read missed / old messages with?
What you are looking for is a BNC also known as a Bouncer. It sits in the channel at all times from a shell account (as discussed in another answer) and you connect to it. You can have it log and feed you the log when you login or you can read the log on the server itself.
One note on your free shell account. I would watch out. Most shell providers block irc due to DDoS attacks.
If you don't like the bouncer idea anymore, have a look at the IRC distributed irc clients Quassel IRC or Smuxi.
They use a more heavyweight connection instead of just proxying IRC, enabling more functionality and seamlessness.
Unless the server supports it, no. You could theoretically buy a cheap shell account, then run a simple IRC bot on it that logs everything said, though.