残念ながら、morinaoさんがやりたいこと(ファイルを単独でチェックアウトする)は、Subversionの仕様上、物理的に不可能です。というのは、Subversionの「リビジョン」という概念が、おそらくmorinaoさんの想像されているものと異なるからです。
まずは、下記の図をご覧ください。

Subversionの各リビジョンは、それぞれのコミット内容をそのまま保持している訳ではありません。Subversionの特徴を列挙すると、
0. ディレクトリとファイルを全く同等に扱う
0. 前回のコミット内容との差分のみを保持する
0. リビジョンによってソースツリーの断面を管理する
まず、図1をご覧ください。file1はリビジョン2で初回コミットされ、修正版がリビジョン4でコミットされています。仮に、リビジョン2では
という内容でコミットされ、リビジョン4では1行追加されて
がコミットされたとします。
この時、リビジョン4では、実際にはリビジョン3との差分である
という情報だけがコミットされます。
ですから、もし特定のリビジョンでコミットされた情報だけを個別に取り出せるのだとすれば、リビジョン4をチェックアウトするとfile1の内容は不完全なものになってしまいます。
しかし、Subversionでリビジョン3と指定すると、実際には図2のように各ディレクトリ/ファイルの直近のリビジョンのディレクトリ/ファイルを指定したことになります。
ここでちょっと、Subversionがこのような仕様になっている理由に注目して頂きたいのですが、ソフトウェアの開発でソースコードのバージョン管理をする目的は何でしょうか!?
今や、一つのファイルで完結するソフトウェアというものは殆どありません。アプリやサービスの機能が高度になるほど、たくさんのファイルで構成されているはずです。ですから、過去のある時点で、そのソフトウェアの構成要素がどんな状態であったのかを知りたい場合、特定のファイルだけではなくてソースツリー全体としてどんな状態にあったのかを簡単に再現できなければなりません。さもなければ、当時と全く同じ条件でビルドすることも出来ません。
ですから、ソフトウェア開発に際してソースのバージョン管理をする上で最も重要なのは、個々のファイルのバージョンを管理することではなく、特定の時点のソース断面を簡単・確実に再現出来ることです。
そして、Subversionの最も優れている点は、このソース断面をリビジョン番号というたった一つの数値で管理出来ることなのです!
チェックアウトという行為は、ソースツリーに変更を加えるために作業コピーを作成するためのものであり、Subversionのリポジトリとの同期状態(=差分の有無)を確認しつつ開発作業を進めるためのものなので、ファイル単独でチェックアウトするということはあり得ません。
ちなみに、作業コピー(=Working Copy)というディレクトリツリーのトップディレクトリには、.svnという管理用の隠しディレクトリがあり、その内部で作業コピーの状態を示す各種のメタデータを保持しています。
もし下記のように、特定のリビジョンのファイルをチェックアウトしようとすると、
C:\>svn checkout file:///path/to/file@3 file
svn: E200007: URL 'file:///path/to/file' refers to a file, not a directory
C:\>
のようなエラーが発生します。つまり、チェックアウト可能なのはディレクトリのみということです。
特定のリビジョンのファイルを単独で取得したい場合は、チェックアウトではなくエクスポートします。
C:\>svn export file:///path/to/file@3 file
ただし、この場合はその時点のファイルを取り出すだけで、修正内容をコミットすることは出来ません。
ですから、特定のファイル(あるいはファイル群)を個別にチェックアウトしたい場合は、予めディレクトリを分けてコミットしておく必要があります。
もちろん、予め対象のディレクトリツリーをチェックアウトして作業コピーを作成しておけば、yukihaneさんの回答にあるような仕方で、特定のリビジョンでコミットしたファイルのパスを取得し、そのファイルを作業コピー上で個別に最新化ことは出来ます。
しかし、対象ファイルが修正されてリビジョン4が最新であった場合、リビジョン3を指定してupdateしていないので、作業コピー上の対象ファイルはリビジョン4の内容になってしまいます。ですから、リビジョン3のファイルを取得する、という目的からすると、update時に明示的にリビジョンを指定する必要があります。