Whether or not it is 3.5G or 3G doesn't really matter. The iPhone 3G actually stands for iPhone third generation which is untrue seeing that this is the second generation iPhone. 3G actually stands for third generation in the telecommunications industry. The iPhone 3G is actually a phone running HSDPA (high speed downlink packet access) and HSUPA (high speed uplink packet access) which are standards of the HSPA (high speed packet access) protocol. There is also HSPA+ which I believe is still in the experimental stages at AT&T. There is too much information about these protocols to list here so you can learn more about them here, [URL="http://en.wikipedia.org/wiki/HSUPA"]here[/URL], here, or here.
Yes. The current, second generation iPhone (the iPhone 3G) could actually be called iPhone 3.5G because the protocol that it supports (HSDPA) is seen as an evolution of standard UMTS (=3G).
And for the speeds possible with HSDPA, the links above will be useful