There certainly is! But bear with me, this may take awhile.
You can do this through RSS feeds, I recommend using Firefox for this.
First of all, let's start with this URL: http://search.twitter.com/search.atom?q=valentine%20OR%20valentines&lang=en
This will find tweets containing the words "valentine" OR "valentines" and only includes tweets in English.
Now, you can add a geocode to this. First of all, visit this site: http://itouchmap.com/latlong.html
Next, zoom in to the location you want and left-click to drop a little pin. Click on this pin and you should get the latitude and longitude coordinates. For London, this is: 51.505323,-0.12085
Now you can add that geolocation to the URL above, so it becomes:
[http://search.twitter.com/search.atom?q=valentine OR valentines**&geocode=51.505323,-0.12085,20km&**lang=en](search.twitter.com/search.atom?q=valentine OR valentines&geocode=51.505323,-0.12085,20km&lang=en)
You can see you just need to add &geocode=, insert the geocode you got before - then add a comma plus something like 10km, 20km etc. This km serves your radius, so this feed looks at tweets containing "valentine OR "valentines" sent from London and a 20km surrounding radius (in English)
That's all there is to it! You can experiment with keyword variations, such as valentines AND day, you can add negative keywords, meaning you can remove certain words such as valentines -card - basically many Google search queries will work in this feed as well. And the reason I recommend firefox is because you can type in your URL with spaces, meaning you don't have to put in %20 and so on. Here's what I mean:
Hope this helps, happy twittering!