First, if you have DSL service from AT&T on the same wires as your landline, then porting the number away would cause the DSL to also be disconnected. Unfortunately, the only way to keep your Internet service is to order a new "dry loop" DSL service (or Internet service from another provider, if available). After that is installed and working, you could port the number. You should check pricing; in some areas, there is a surcharge for DSL without phone service, and there may also be an install charge. However, you may find promotional pricing that is lower than you are paying now.
Also, make sure that service in your "rate center" is available from your new phone provider; they will otherwise be unable to accept the number. If the number you have with them now is in the same city as your AT&T number, you are probably ok.
If the new provider is Google Voice, you'll need to first port the landline number to a cell phone (e.g. cheap prepaid), because GV only accepts ports from mobiles.
If your new provider doesn't offer 911 service, you will probably want to order that elsewhere, e.g. Callcentric at $1.50/mo.; you should get that working and test it, before disconnecting the landline.