I'm not sure that's the right way to go about this. There are tons and tons of types of cheeses. I'm not sure you'll find a good list of all substitutes because it will be too big to put together.
Instead, I think you need to learn about the types of cheese so that you can make an informed decision. Is a cheese blue, sharp, creamy, hard, soft? How does it melt? What part of the world is it from? Those questions will allow you to find a cheese that is similar enough to make a good substitution.
For instance, if a recipe called for Pecorino a hard Italian cheese, Parmesan (another hard Italian cheese) would make a much better substitute than goat cheese or cheddar.
So see what cheeses are available at your local store. Write down the whole list (and preferably buy some of each). Get home and do a little bit of research on each one. Where is it from? How do people describe it? Take some notes on all of this. Then, when you see a new cheese in a recipe, look it up and see how it's described. Then find a cheese from a similar area with similar characteristics, and you should be good to go.
Edit: While I stand by my approach as a great way to go about this, I did find a good resource. Cook's Thesaurus has a great list of cheeses, including substitutes, broken down by type of cheese, type of milk, hardness, etc.
It's a different flavor. Romano is sharper, more grassy; parmesan is nuttier and sweeter. I actually prefer romano where I have a lot of other strong flavors. If there's other sharp flavors in a dish, such as olives, chili pepper, or capers (e.g., puttanesca), I'll go with romano which seems to stand up better to the robust flavors. For something with a more subtle flavor such as a ragu bolognese, butter or cream-based sauces, risotto, etc. I feel that a good parmeggiano reggiano can stand up to the other flavors in the dish without overwhelming them.
If cost is your main concern, I've had some parms from Argentina that are actually pretty good. Reggiano is definitely better, but depending on what you're using it for, it might be an option. I wouldn't use it in something like a risotto or fettuchine alfredo where it plays a key role in the dish, but if you're just grating it on top it will work fine. An in-between option is Grana Padano, which is advertised as a "budget" substitute for reggiano. In my experience, it's pretty good, but where I live it's only a little cheaper.
Best Answer
Grana padano and pecorino romano are two other very savory, hard grating cheeses that work well on pasta. They taste a bit different than Parmigiano-Reggiano, but are quite good in their own right and often less expensive. You can also look at parmesan type cheeses that are not actually Parmigiano-Reggiano. For example, Whole Foods often has one from Argentina that offers a reasonable price/performance tradeoff. All of that said, in many people's opinion, nothing is really quite as delicious as true Parmigiano-Reggiano.