If I know my pokemon is faster than anyone else's on their team, does having agility on my moveset help at all? Would I ever be able to strike twice in one turn? If so, how is this calculated?
No, you can never move twice on one turn with Agility. Speed is a straight up calculation of which speed stat is faster within the same priority bracket (so moves like Quick Attack always go first unless a faster opponent uses Quick Attack/etc as well).
The only reason to continue using Agility is if you know/suspect your opponent has pokemon even faster than your boosted pokemon, that they well debuff your speed (paralysis does this significantly) or that they will buff their own speed.
Ordinarily, no, except for the circumstances mentioned by the other users (if you suspect that they will switch to a faster Pokémon, debuff your Speed, or buff their own Speed to become faster than you; to increase the power of Electro Ball; to increase the power of Gyro Ball if Trick Room is in effect; or if you wish to transfer the buff to another Pokémon using Baton Pass).
It's impossible for a Pokémon (with the exception of Mega Kangaskhan) to attack twice in one turn. The only thing Speed is used for (apart from Electro Ball and Gyro Ball) is to see who goes first, and even then, it's only used if both Pokémon use moves with the same priority.
If both moves are of different priorities, the one with the higher priority always goes first, regardless of Speed stat. Otherwise, the faster Pokémon goes first (or the slower one if Trick Room is in effect).
The contributors before already mentioned most of the cases, additionally including a false case: Trick Room does not invert the speed stats but their order effect only, so Gyro ball would always be weakened by Agility. However, you might want to increase your enemy's Gyro Ball force if you are playing a Rough Skin/Rocky Helmet set, so the enemy's recoil damage will be increased too.