This will DWIM for a remote not named origin (documentation):
$ git checkout -t remote_name/remote_branch
To add a new remote, you will need to do the following first:
$ git remote add remote_name location_of_remote
$ git fetch remote_name
The first tells Git the remote exists, the second gets the commits.