Can I downgrade/upgrade to the firmware version I want?

Probably not, and here's why.

Apple has a system that tries to make sure you can only install the latest iOS firmware version: devices require their firmware installation to be verified (signed) by Apple during every restore or upgrade. Apple usually only signs a version while it's the latest version. This is designed to keep you from installing jailbreakable versions as Apple fixes exploitable bugs.

It is possible to save your device's available SHSH blobs (signatures) for the current iOS version that Apple is signing, using a free tool called TinyUmbrella. You may do this in the hope that you can restore your device with those firmware versions later (after Apple no longer signs them), but there are few loopholes for using SHSH blobs on devices newer than iPhone 4 and on iOS versions newer than iOS 5. Apple has improved the security of their signing system over the past few years.

Cydia used to automatically save SHSH blobs for devices, when SHSH blobs were more usable. For explanation of that system, see Caching Apple's Signature Server (September 2009).

On devices newer than iPhone 4 and on iOS versions newer than iOS 5, SHSH blobs are usually not usable — in other words, you can only upgrade, downgrade, or restore to iOS versions that Apple is signing (which is usually only the newest iOS version available for that device).