Everything has probably been answered because of how long this thread is, but I'll rap everything up in one easy to read post.
As a wireless customer, you have four important dates to know. 1) You're bill cycle date, 2) you're contract end date, 3) your upgrade eligibility date, 4) your early upgrade eligibility date. There may not be a difference between 3 or 4, depending on your plan. Some carriers allow you to upgrade (without a special discount) and just pay 2 year pricing at one year. That would be number 4.
Upgrading ADVANCES your contract a FULL two years (or one if you sign a one-year). Upgrading does not effect your previous contract that is in place, therefore, if you upgrade and then cancel, you will still be held accountable for any ETF up until your original contract end date. You may actually even experience advanced early termination fees if AT&T chooses to go based off of the new contract date.
You will be forced to pay for a FULL last month of service. This is usually because most wireless carriers do not shut off your service the day you request it. I'd be willing to say almost every carrier waits until the last day of your bill cycle to turn off your service, this is always a policy at Verizon...not quite sure about AT&T.
In order to port your number to another wireless carrier, you must keep your AT&T line of service on and you must be current on your AT&T bill with no late payments within the last 60 days. The number is property of AT&T until they release the number to whomever you port to, therefore, they will get what they want before allowing the port. Porting is also the ONLY way to get your service to end immediately. They WILL prorate your voice and data usage if you port out.