This question:
Is it possible to share HttpRuntime.Cache between multiple web servers?
..Relates to http://msdn.microsoft.com/en-us/library/system.web.caching.aspx
..I think I know the answer, but for everyone's benefit, with the newer:
http://msdn.microsoft.com/en-us/library/system.runtime.caching.aspx
It is realistically possible? Or would one be better off using memcached / AppFabric / redis / xyz.
HttpRuntime.Cache runs in-process (i.e., in server memory) and cannot be shared between multiple web servers. You can extend the mentioned System.Runtime.Caching with a custom provider to centralize caching using a platform such as SQL Server or a dedicated server.
Recommended multi-web server caching strategy would definitely depend on the environment.
On the lower end of scale, using SQL Server is a quick option that is probably familiar to a .NET developer. Another option is using a web service (e.g., WCF) to centralize cached data calls.
On the higher end, you have mentioned the leaders in the field: memcached, AppFabric, Redis, etc. If these are already setup in your environment and/or you are familiar with them I could definitely see using them whenever you have multiple web servers (big or small).
I recommend at least checking out Redis. It's the newer category of the group mentioned but it's lightweight, fast and in addition to the key/value store it has other functionality great for distributed systems such as pub/sub.