In Microsoft Outlook I archive my mail by creating various archive files on the local disk. Can I do something similar to this with Mail.app? I would like to archive some of my iCloud email on my local machine.
If you want a folder that's accessible from within Mail, you can create a local mailbox (using "Mailbox" > "New Mailbox…") and then copy the messages you want from your iCloud mailbox across to it.
You can also use "Mailbox" > "Export Mailbox…" to export mail to a file on your hard disk - however you can't browse this from within Mail without importing it again (using "File" > "Import Mailboxes…").
I'm almost certain that Mail will be keeping iCloud messages on your hard disk in any case. OS X Mail keeps all its data in conventional (for Unix) mbox files. You can find them in:
(Note however since OS X 10.7, the Library directory is hidden by default.)
Even if the account were to stop working, you should still be able to see all of the mail in it. It would only be removed if you were to delete the account.
Mail Help, Archive Messages: "You can store messages in an Archive mailbox so that you can quickly find them later when you’re ready to take action.
Select one or more messages to archive. If you select a conversation, all messages in the conversation are archived.
Choose Message > Archive. An Archive mailbox is created for each account whose messages you archive. For example, if you archive a message sent to your iCloud account and a message sent to your Yahoo! account, an Archive mailbox is created for each account.
Archived messages remain in the Archive mailbox until you delete or move them. Depending on the account type, the Archive mailbox is stored on the mail server.
You can customize the Mail toolbar to include the Archive icon."