I think you need to check out the Blue Rooms - behind the Blue Bike restaurant (and owned by the restaurant).
It's not a hotel, as such, but it's by far the nicest place to stay in York - we go about 4 times a year.
The rooms are more like apartments, really, full kitchens and they leave you breakfast every day (more than you could hope to eat), plus bread, jam, a bottle of champagne, beers, mixers, gin and whisky. There's an honesty wine rack too.
If you get the Fosse room you can even feed the ducks out of your bedroom window as it looks directly over the water.
And it's on a great road for restaurants.
Alternatively, have a look at The Lamb and Lion in, which is on High Petergate, right up next to the walls, another great location, and very reasonably priced considering you are basically right next to the Minster.
Other places we have stayed are Marmadukes (a bit further out of town, but walkable) and I think, if you're looking for something really romantic, that the same people who own Marmadukes have now opened up Lendal Tower as a 3 room B&B.