Web apps are easy, you just need to use Apple Configurator or the iPhone configuration utility to package the URL and add it to the home screen. You can also perform this from mobile safari directly.
You only need a web server and there are plenty of free web services if you don't want to host the app on a computer you control and could run MAMP or some other tool to serve http.
Once you cross over into native apps, it gets more complicated. There is an API and it's secured by digital signatures to ensure the OS can track the application's provenance and detect if it gets modified after it has been installed.
In general, iOS supports four major ways to load native applications. The first three require Apple to be involved and all carry a financial and time cost. The fourth bypasses the code checks and allows unsigned apps and has no financial cost but carries a different time cost.
- Through the iTunes App Store once the app is signed directly by Apple
- As a paid developer by signing the app with a developer certificate (which itself is signed indirectly by Apple)
- As an enterprise customer by signing the app with an enterprise certificate (which itself is signed indirectly by Apple)
- Jailbreak the device to load apps that are not signed by Apple (directly or indirectly)
Since you mentioned free:
- Jailbreak should cost nothing, you just spend time learning and obtaining free software to jailbreak each device.
- Paid iOS developer requires a Mac with a recent OS X (not free), Xcode (free) and a $99 one year window to run all your apps on a limited set of iOS devices (100 at the moment) for that one year period.
- App Store Distribution requires a delay (where Apple decides if they even want your specific version of your app to be on their store) and costs nothing during the year your paid iOS developer account is valid. If your paid developer account expires, your apps come off the store.
- Enterprise Distribution is the most costly. You near a legitimate corporation with legal filing, corporate DUNS number to prove you have a financial record as a corporation, etc… It starts at a $300 payment and I'd guess months delay and legal/regulatory fees of $1500 in the US to be set up as an enterprise client of Apple.
Now, you can mix apps of all 5 types above as long as your device is jailbroken. If your device is not jailbroken, you can mix the three Apple approved methods with web apps on the same device on an app by app basis.
The vast majority of people load apps through the app store, so all other methods are collectively called "side-loading". As you approach your work, think more about how the OS decides to install the app as opposed to how it's actually delivered. Once you get how code signing works, the delivery issues will work themselves out.
As a developer, you can control exactly which hardware you want to support and which you will not support by picking the source code you use and properly tagging the files you upload to Apple.
The iOS app store then can prevent the devices you have disallowed from downloading the app. So, there's nothing to prevent a developer from targeting only iPhone 4 with their code or just targeting a specific iOS version.
It's up to you (and each other developer) to decide on a build-by-build basis, so the general answer would be:
No, there is no guarantee that all apps (or any one app) that run(s) on iPhone 4 will also run on iPod Touch (4th generation).
Best Answer
If it is the application you developed, you can access it from itunesconnect.apple.com which is called iTunes Connect, and that's how you should have uploaded your app to Apple in the first place.
You can also try a piece of software called AppFigures, which is essentially a portal to iTunes Connect, which I find easier to use and with more features.
Also: after not renewing your iPhone Developer licence, your apps will stay in iTunes Connect for some period of time, probably around a year before being deleted.