If I decide to upgrade to iOS 5, do I
  need to remove all [myObject retain]
  and [myObject release] statements from
  my code?
Yes, but XCode 4.2 includes a new "Migrate to Objective-C ARC" tool (in the Edit->Refactor menu), which does that for you. Calling dealloc is a different story. As mentioned in the comments the clang reference states that you should keep your the dealloc method:
Rationale: even though ARC destroys instance variables automatically, there are still legitimate reasons to write a dealloc method, such as freeing non-retainable resources. Failing to call [super dealloc] in such a method is nearly always a bug.
You enable ARC using a new -fobjc-arc
  compiler flag. ARC is supported in
  Xcode 4.2 for Mac OS X v10.6 and v10.7
  (64-bit applications) and for iOS 4
  and iOS 5. (Weak references are not
  supported in Mac OS X v10.6 and iOS
  4). There is no ARC support in Xcode
  4.1.    
-
If I develop a new app for iOS 5 using
  ARC, will I need to implement some
  sort of "retro-compatibility" checks?
  I.e.: will I need to check the version
  of iOS and call retain and release
  accordingly? So, basically, is ARC
  available for all iOS versions or just
  for iOS 5?
No, because ARC does its magic on compile time and not on run time.
Instead of you having to remember when
  to use retain, release, and
  autorelease, ARC evaluates the
  lifetime requirements of your objects
  and automatically inserts the
  appropriate method calls for you at
  compile time. The compiler also
  generates appropriate dealloc methods
  for you.
Further Information on ARC: http://clang.llvm.org/docs/AutomaticReferenceCounting.html